PopupWindow返回参数至Activity两种方式:接口和Rxjava
来源:互联网 发布:网络存储空间 编辑:程序博客网 时间:2024/06/08 06:32
使用Rxjava回调参数至Activity
定义一个继承PopupWindow的类
public class PopupWindows extends PopupWindow implements View.OnClickListener { public PopupWindows (View parent, final Context context) { super(context); View view = View.inflate(context, R.layout.ppw_groups_join, null); //设置PopupWindows 显示动画 setWidth(WindowManager.LayoutParams.MATCH_PARENT); setHeight(WindowManager.LayoutParams.MATCH_PARENT); setFocusable(true); setOutsideTouchable(true); setContentView(view); showAtLocation(parent, Gravity.BOTTOM, 0, 0); update(); view.findViewById(R.id.btn1).setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.btn1: Observable.just(1).subscribe(MainActivity.action1); break; } dismiss(); }}
在MainActivity定义Action1方法,需要先实例化
public class MainActivity extends Activity { private Button btn1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1=(Button) findViewById(R.id.btn1); btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new PopupWindows(btn1, MainActivity.this); } }); } public static Action1<int> action1 = new Action1<int>() { @Override public void call(int i) { System.out.println(i); } }; }
使用接口回调参数至Activity
定义继承PopupWindow类
public class JoinPopupWindows extends PopupWindow implements View.OnClickListener{ public PopupWindows (View parent, final Context context) { super(context); View view = View.inflate(context, R.layout.ppw_groups_join, null); //设置PopupWindows 显示动画 setWidth(WindowManager.LayoutParams.MATCH_PARENT); setHeight(WindowManager.LayoutParams.MATCH_PARENT); setFocusable(true); setOutsideTouchable(true); setContentView(view); showAtLocation(parent, Gravity.BOTTOM, 0, 0); update(); view.findViewById(R.id.btn1).setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.btn1: test.getTest(1); break; } dismiss(); } private ITest test; public void setTest(ITest test) { this.test = test; } public interface ITest { void getTest(int i); }}
在MainActivity继承ITest接口
public class MainActivity extends Activity implements ITest { private Button btn1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1=(Button) findViewById(R.id.btn1); btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new PopupWindows(btn1, MainActivity.this).setTest(MainActivity.this); } }); } @Override public void getTest(int i) { System.out.println(i); }}
0 0
- PopupWindow返回参数至Activity两种方式:接口和Rxjava
- 弹出窗口的两种实现方式 PopupWindow 和 Activity
- 弹出窗口的两种实现方式 PopupWindow 和 Activity
- 弹出窗口的两种实现方式 PopupWindow 和 Activity
- 弹出窗口的两种实现方式 PopupWindow 和 Activity
- 使用PopupWindow和Activity两种不同的方式实现弹窗效果
- Android Activity返回键控制的两种方式
- Android Activity返回键控制的两种方式
- 仿微信PopupWindow两种方式的对比
- 接口使用的两种方式:直接implements 和 把接口实例当作函数的参数传进去
- Android popupwindow 和 Activity弹出窗口实现方式
- android PopupWindow 和 Activity弹出窗口实现方式
- Activity两种启动方式
- 启动Activity两种方式
- Activity和Activity带参数跳转 带参数返回
- Activity和Fragment传递数据的两种方式
- Activity和Fragment传递数据的两种方式
- (转)Activity和Fragment传递数据的两种方式
- AM5728概述(6)
- maven install 报错解决方案
- startActivityForResult用法详解
- 关于荷兰HVR 数据复制软件的一点个人总结
- tcpdump简单使用
- PopupWindow返回参数至Activity两种方式:接口和Rxjava
- window下编译Caffe时(Windows10+Caffe+CUDA7.5+VS2013)注意事项
- C++基础--指针1
- java——数字金字塔代码
- 蓝懿iOS 技术内容和心得 12.24
- SDUT 数据结构实验之排序三:bucket sort (无语题)
- c语言
- HTML5 FileReader base64图片预览
- 自定义类加载器