安卓从popupwindow跳转到Activity页面

在一个已出现的poupwindow中,点击页面上的某个按钮,页面将进行跳转到另一个Activity中。popupwindow代码如下:

 1 package com.cn.gordon.exhibition.walk.popup;
 2
 3 import com.cn.gordon.exhibition.walk.activity.ForumArrangementActivity;
 4 import com.cn.gordon.exhibition.walk.activity.R;
 5 import com.cn.gordon.exhibition.walk.activity.VisitPlanActivity;
 6
 7 import android.app.Activity;
 8 import android.content.Context;
 9 import android.content.Intent;
10 import android.graphics.drawable.ColorDrawable;
11 import android.view.LayoutInflater;
12 import android.view.View;
13 import android.view.View.OnClickListener;
14 import android.widget.LinearLayout;
15 import android.widget.PopupWindow;
16 import android.widget.RelativeLayout.LayoutParams;
17
18 public class ArrangementPopupWindow extends PopupWindow {
19     private View contentView;
20     public ArrangementPopupWindow(final Activity context){
21         LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
22         contentView = inflater.inflate(R.layout.popupwindow_arrangement, null);
23         //int h = context.getWindowManager().getDefaultDisplay().getHeight();
24         int w = context.getWindowManager().getDefaultDisplay().getWidth();
25         // 设置SelectPicPopupWindow的View
26         this.setContentView(contentView);
27         // 设置SelectPicPopupWindow弹出窗体的宽
28         this.setWidth(w / 2 + 50);
29         // 设置SelectPicPopupWindow弹出窗体的高
30         this.setHeight(LayoutParams.WRAP_CONTENT);
31         // 设置SelectPicPopupWindow弹出窗体可点击
32         this.setFocusable(true);
33         this.setOutsideTouchable(true);
34         // 刷新状态
35         this.update();
36         // 实例化一个ColorDrawable颜色为半透明
37         ColorDrawable dw = new ColorDrawable(0000000000);
38         // 点back键和其他地方使其消失,设置了这个才能触发OnDismisslistener ,设置其他控件变化等操作
39         this.setBackgroundDrawable(dw);
40         // mPopupWindow.setAnimationStyle(android.R.style.Animation_Dialog);
41         // 设置SelectPicPopupWindow弹出窗体动画效果
42         //this.setAnimationStyle(R.style.AnimationPreview);
43         LinearLayout layout_forum = (LinearLayout) contentView
44                 .findViewById(R.id.layout_forum);
45         LinearLayout layout_visitplan = (LinearLayout) contentView
46                 .findViewById(R.id.layout_visitplanarrangement);
47
48         layout_forum.setOnClickListener(new OnClickListener() {
49
50             @Override
51             public void onClick(View v) {
52                 if (context.getClass().equals(VisitPlanActivity.class)) {
53                     Intent in = new Intent(context,ForumArrangementActivity.class);
54                     context.startActivity(in);
55
56                 }
57                 ArrangementPopupWindow.this.dismiss();
58             }
59         });
60
61
62         layout_visitplan.setOnClickListener(new OnClickListener() {
63
64             @Override
65             public void onClick(View v) {
66                 if (context.getClass().equals(ForumArrangementActivity.class)) {
67                     Intent in = new Intent(context,VisitPlanActivity.class);
68                     context.startActivity(in);
69                 }
70
71                 ArrangementPopupWindow.this.dismiss();
72             }
73         });
74
75     }
76
77     public void showPopupWindow(View parent) {
78         if (!this.isShowing()) {
79             // 以下拉方式显示popupwindow
80             this.showAsDropDown(parent, parent.getLayoutParams().width / 2, 18);
81         } else {
82             this.dismiss();
83         }
84     }
85 }

在popupwindow中需要用到上一个页面传递过来的context,通过context来调用startActivity实现页面的跳转。

时间: 2024-10-09 06:29:38

安卓从popupwindow跳转到Activity页面的相关文章

安卓笔记五--四大组件之Activity(页面跳转,不同窗体传递数据)

安卓四大组件都是非常重要的知识,今天来说Activity .老规矩,用一张图来介绍今天的内容. 图片看不清的话可以右键新窗口打开 一,概述 Activity 是 Android 四大组件之一,它用于展示界面. Activity 是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务. Activity 中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过 setContentView(View)来显示指定控件. 在一个 android 应用中,一个 Activity 通常

一个新的Activity跳转到带有Framgment的Activity页面

思路是:新的Activity跳转到带有Fragment的Activity中,同时带有标志性的标志位. 实例代码: 1 package com.cn.gordon.exhibition.walk.activity; 2 3 import java.io.IOException; 4 import java.util.List; 5 import android.annotation.SuppressLint; 6 import android.app.Activity; 7 import andr

微信点击图文消息链接 在根据判断跳到另一个页面 但是 点关闭 将当前的关闭之后 会出现空白页

<script> function ss() { var u = navigator.userAgent; if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) {//安卓手机location.href = '2.html?id=3323/#wechat_redirect'; } else if (u.indexOf('iPhone') > -1) {//苹果手机location.href = '2.html?id

Android 输入法键盘和activity页面遮挡问题解决

本文主要介绍Android中如何解决输入法键盘和activity页面遮挡的问题. 总结: 不希望遮挡设置activity属性android:windowSoftInputMode="adjustPan" 希望动态调整高度android:windowSoftInputMode="adjustResize" 问题: 我原来的问题是,对于腾讯微博的OAuth验证webView,弹出软键盘后,输入框上移就看不到输入框了,后发现Webview放到了ScrollView中,将S

js指定时间之后跳转到指定页面代码实例

js指定时间之后跳转到指定页面代码实例:在某些场景下,需要网页在指定的时间后,网页能够自动跳转到指定页面,比如在无法找到指定网页的情况下,就会显示之前设置好的404页面,并且跳转到指定的页面,下面就是一段代码实现了此效果.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="htt

[转]Fragment跳转至Activity或者Fragment

1.Fragment跳转至Activity 从fragment中跳转和从activity中跳转类似,只不过你要先通过fragment的getActivity方法获取到显示这个fragment的activity,具体代码是这样的: Button button = view.findViewById(xxx); button.setOnClickListener(new View.OnClickListener(     onClick(View view) {         startActiv

shiro控制登陆成功后跳回之前的页面

登陆之后跳回之前的页面是在做登陆注册模块时遇到的一个需求,也是很有必要的.若用户直接访问登陆页面,那可以控制它直接到首页,但是要用户没有登陆直接访问自己的购物车等需要经过身份认证的页面,或者因为session超时,用户需要重新登陆,那么这个时候跳回之前的页面就是一件提升用户体验的事情了.实现这一功能,暂时想到两种方法,一是用ajax的方式登陆,这样直接在当前页面弹窗让用户登录既可,二是把用户未登录前的url存在session中,login成功之后先检查session中是否存在这样的一个url.

Django auth 登陆后页面跳转至/account/profile,修改跳转至其他页面

这几天在学习django,django功能很强大,自带的auth,基本可以满足用户注册登陆登出,简单的用户注册登陆系统使用django auth足矣.当然也不是拿来就能用的,需要自己写登陆页面的模板,也很简单.自己尝试了一下,发现一个问题,当验证登陆成功后,页面会自动跳转到/account/profile,我并不想把页面跳转到这个页面,如何修改呢? 查了一堆网页,还是官网靠谱,很简单,就在project的setting里加一句话就Okay! LOGIN_REDIRECT_URL = ‘/inde

JavaScript跳转到指定页面并且到指定的tab切换窗口

案例的解析就是点击A页面的第一个的切换窗口的按钮跳转到B页面,再点击B页面的按钮跳转到A页面的第二个窗口,这个实现的效果有三种方法,下面的图片案例: A页面的第一个切换窗口 B页面的跳转按钮 A页面的第二个切换窗口 第一方法用函数function: 演示效果:JavaScript跳转到指定页面并且到指定的tab切换窗口 A页面按钮 <a href="b.html?id=1980&order_type=p_order">aaaaa</a> B页面按钮代码: