Как использовать виджет, определенный в моем фрагменте, в основной деятельности без onClick - PullRequest
0 голосов
/ 28 августа 2018

Я довольно новичок в разработке для Android, и у меня есть несколько вопросов о том, как фрагменты взаимодействуют с их основным видом деятельности.

Как я могу использовать виджет, определенный в моем фрагменте, без метода Onclick, я хочу сделать что-то вроде:

в моей основной деятельности

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

когда текстовое представление определено во фрагменте.

Я работаю над проектом в rosjava, поэтому мне нужно получить виджет, который я определил в своем фрагменте, чтобы выполнить их как ros node.

1 Ответ

0 голосов
/ 28 августа 2018

Вы можете объявить члена 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");
}
...