Interface的两种使用方式
2016-05-25 19:59
525 查看
接口是我们在编程中经常使用的,原来对于使用方式一直模模糊糊的,这两天整理了一下。作为菜鸟,有不对的地方请多多指教,不喜勿喷。
通过set方法进行传递。
例如把Fragment里的值传递到Avtivity的情况。这样可以直接在Fragment调用接口方法。代码如下:
2.Activity向Fragment中传值:
在Fragment方法上直接进行实现,并重写实现方法。
首先需要一个接口:
然后在fragment上实现。
最后在Activity中调用。
通过set方法进行传递。
例如把Fragment里的值传递到Avtivity的情况。这样可以直接在Fragment调用接口方法。代码如下:
1.首先定义了一个接口 public interface TextViewInfoListener { void textViewInfo(String info); } 2.然后在Fragment中声明一下,并且写一个set方法,这样在Activity中拥有这个Fragment的实例,是可以直接进行set的。 private TextViewInfoListener tvInfoListener; public void setTvInfoListener(TextViewInfoListener tvInfoListener) { this.tvInfoListener = tvInfoListener; } 3.在Activty中set之后,这个接口其实已经是Activity中的。可以直接进行调用。 @Override public void onClick(View arg0) { switch (arg0.getId()) { case R.id.frg_one_btn1 : tvInfoListener.textViewInfo("按钮A"); break; case R.id.frg_one_btn2 : tvInfoListener.textViewInfo("按钮B"); break; } } 4.这是Activity中声明fragment,并且进行set的地方。set完成后当你在fragment中进行调用的使用,这里就能收到消息。 Frg_one fragmentInterface = new Frg_one(); fragmentInterface.setTvInfoListener(new TextViewInfoListener() { @Override public void textViewInfo(String info) { main_tv1.setText(typeInfoOne); } });
2.Activity向Fragment中传值:
在Fragment方法上直接进行实现,并重写实现方法。
首先需要一个接口:
public interface ButtonInfoListener { void buttonInfo(String info1, String info2); }
然后在fragment上实现。
public class Frg_one extends Fragment implements ButtonInfoListener { @Override public void buttonInfo(String info1, String info2) { } }
最后在Activity中调用。
Frg_one fragmentInterface = new Frg_one(); fragmentInterface.buttonInfo("1","2");
相关文章推荐
- HTML5第十次作业
- java 内存映射处理大文件
- 【Halcon】Blob分析的形态学算子应用(count_pellets.hdev)
- Dapper-开源小型ORM
- 【博客美化】04.自定义地址栏logo
- 构建之法
- python之时间函数
- Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so
- Android自定义view之ProgressBar的实现
- nginx配置文件
- PullToRefreshListView
- delphi工作笔记利用indy10发送邮件
- Android自动化测试-从入门到入门(3)Espresso入门
- 【CodeForces】#621A - Wet Shark and Odd and Even(水)
- [JZOJ3401]【GDOI2014模拟】Pty爬山
- Sqlite3常用的插入方法及性能测试
- SHOPNC 中开启sphinx全文检索
- 第13周-项目1-分数类中的运算符重载(1)
- MIPS多周期CPU设计之使用时钟上升沿触发PC模块的实现方案
- DP之背包问题详解及案例