我在android开发中还很陌生,我对片段如何与其主要活动进行通信有一些疑问。
如何在没有Onclick
方法的情况下使用片段中定义的小部件,
我想做类似的事情:
在我的MainActivity中
textview = (textview) findbyid(R.id.textview)
在片段中定义了textview时。
我正在rosjava
中的一个项目上工作,这就是为什么我必须获取我在片段中定义的小部件才能将它们作为ros node
执行的原因。
答案 0 :(得分:0)
您可以声明Fragment成员并在Activity中实例化它。
// Fragment.java
...
public TextView textview;
...
void onCreateView(...) {
//inflating view
...
textview = view.findViewbyId(R.id.textview);
...
//Activity.java
private MyFragment fragment;
...
fragment = MyFragment.newInstance();
// now u could do like that
fragment.textview.setText("hello");
或者您可以使用FragmentManager获取您的片段对象:
Fragment fragment = getFragmentManager().findFragmentById(R.id.fragment_container);
if (fragment instanceof MyFragment) {
MyFragment myfragemnt = (MyFragment) fragment;
fragment.textview.setText("hello");
}