Android之---Activity与Fragment之间的传值问题
来源:互联网 发布:vb获取电脑名称 编辑:程序博客网 时间:2024/05/16 11:36
Activity与Fragment之间的传值问题
Activity传值给Fragment
添加Fragment的Activity:
Fragment01 fragment = new Fragment01(); Bundle bundle = new Bundle(); bundle.putString("str","这是Activity传来的值"); fragment.setArguments(bundle); fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction(); fragmentTransaction.replace(R.id.fm01id,fragment01); fragmentTransaction.commit();
Fragment中接受Activity传过来的值:
String str = (String)getArguments().get(“str”);
Fragment传值给Activity:
实现思路:
1.在Fragment中写一个回调接口
2.在activity中实现这个回调接口
3.在Fragment中onAttach 方法中得到activity中实现好的 实例化接口对象
4.用接口的对象 进行传值
Activity:
public class MainActivity extends Activity implements CallBackValue{ private TextView tv1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv1 = (TextView) findViewById(R.id.tv1); FragmentManager manager = getFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); transaction.add(R.id.contents, new Fragmen1()); transaction.commit(); } //要获取的值 就是这个参数的值 @Override public void SendMessageValue(String strValue) { // TODO Auto-generated method stub tv1.setText(strValue); } }
Fragment:
public class Fragmen1 extends Fragment{ private Button btn1; private EditText et1; CallBackValue callBackValue; /** * fragment与activity产生关联是 回调这个方法 */ @Override public void onAttach(Activity activity) { // TODO Auto-generated method stub super.onAttach(activity); //当前fragment从activity重写了回调接口 得到接口的实例化对象 callBackValue =(CallBackValue) getActivity(); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub View view = inflater.inflate(R.layout.fragment_layout1, container, false); btn1 = (Button) view.findViewById(R.id.btn1); et1 = (EditText) view.findViewById(R.id.et1); btn1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub String strValue = et1.getText().toString().trim(); callBackValue.SendMessageValue(strValue); } }); return view; } //定义一个回调接口 public interface CallBackValue{ public void SendMessageValue(String strValue); } }
0 0
- Android之---Activity与Fragment之间的传值问题
- android开发fragment、Activity与Activity之间的值传递
- Activity与Fragment之间的传值
- Activity与Fragment之间的传值
- Activity与Fragment之间的传值
- Android进阶之Fragment与Activity之间的数据交互
- Android面试篇之Activity与Fragment、Fragment与Fragment之间的通信
- Activity与Activity之间,Fragment与Fragment之间通过Bundle传值的研究
- Activity与Activity之间,Fragment与Fragment之间通过Bundle传值的研究
- android Activity与Fragment之间的通信
- Android 关于Fragment与Activity之间传值
- Fragment与Activity之间传值,Fragment与Fragment传值以及对commit的理解
- Activity与Activity,Activity与Fragment及Fragment与Fragment之间传值
- Fragment与Activity之间传值
- Fragment与Activity之间传值
- 46 Android fragment ——activity 之间的传值
- Android中fragment之间和Activity的传值、切换
- android开发之fragment与activity之间相互跳转
- 集群维护
- 理解RemoteViews(Android开发艺术探索读书笔记)
- Android 关于Notification 点击启动流程分析
- string.format()
- Android 搜索框:SearchView 的属性和用法详解
- Android之---Activity与Fragment之间的传值问题
- C++中的类和对象(二)
- vector对象的初始化
- 数据结构实验之链表二:逆序建立链表(附带链表的释放)
- android 64k方法数限制的解决方案
- git学习笔记3—工作区与暂存区
- Rxjs学习
- c#插入时间到sqlserver中去
- 微信小程序开发踩坑指南