#java #android #fragment
Вопрос:
Я создал FragmentContainerView под названием GamePadFragment в MainActivity, и я хотел бы получить данные из фрагмента в основное действие. Поскольку FragmentContainerView является относительно новым методом. Я не могу найти много информации об этом.
Я разместил несколько кнопок на экране фрагментконтейнера. Могу ли я узнать, как получить передачу данных (строку) из фрагмента при нажатии на кнопку в окне FragmentContainerView.
String Pass:
from the `GamePadFragment` (FragmentContainerView) --> the Activity holding it
on button clicks
Текущий код в основной деятельности выглядит следующим образом:
FragmentContainerView gamePadFragment;
public MainActivity() {
super(R.layout.activity_main);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
gamePadFragment = findViewById (R.id.gamePadFragment);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.setReorderingAllowed(true)
.add(R.id.gamePadFragment, GamePadFragment.class, null)
.commit();
}
// Set Default Appearance
//int wd = gamePadFragment.getWidth();
//gamePadFragment.setLayoutParams(new RelativeLayout.LayoutParams(wd, wd));
}
Ответ №1:
Используйте обратный вызов
interface MyCallback{
void click(String data);
}
Действие реализует этот интерфейс
class MyActivity implements MyCallback
отправьте делегат своему фрагменту,
вызовите функцию обратного вызова в своем фрагменте