在没有onClick的主要活动中,如何使用片段中定义的小部件

时间:2018-08-28 09:16:50

标签: android android-fragments android-fragmentactivity ros

我在android开发中还很陌生,我对片段如何与其主要活动进行通信有一些疑问。

如何在没有Onclick方法的情况下使用片段中定义的小部件, 我想做类似的事情:

在我的MainActivity中

textview = (textview) findbyid(R.id.textview)

在片段中定义了textview时。

我正在rosjava中的一个项目上工作,这就是为什么我必须获取我在片段中定义的小部件才能将它们作为ros node执行的原因。

1 个答案:

答案 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");
}