各位前辈,俺刚刚接触Android不久,同一个activity两个fragment, 希望FragmentA中的几个按键,来控制FragmentB中的一个TextView的值的显示,该如何处理? 如何在 FragmentA中得到FragmentB的对象?
我的错误方法如下:
fm = FragmentA.this.getActivity().getSupportFragmentManager();
Fragment = fm.findFragmentByTag("??");//得到的为null
......
mode=(TextView) locationFragment.getActivity().findViewById(R.id.tv_mode1);
mode.setText("abc");
------解决思路----------------------
通过 getFragmentManager()或者 getSupportFragmentManager() 获取到 FragmentManager,然后使用 findFragmentByTag或者 findFragmentById,就可以找到你使用过的Fragment
------解决思路----------------------
楼上的方法可行
------解决思路----------------------
通常不建议在FragmentA中直接操作FragmentB中的控件,这样会显得程序逻辑混乱。
建议:
FragmentA想要操作FragmentB中的控件,或者更改其中的值等 ,可以这么做
方法一,Fragment发送消息给其所在Activity,让Activity替你去操作FragmentB中的控件。
方法二,Fragment发送消息给其所在Activity,Activity再给Fragment发送消息,完成你想要的操作。