Я создал простое приложение, в котором есть Навигационный ящик с Элементами, который при выборе изменяет отображаемый фрагмент.Это работает без проблем, каждый элемент в навигаторе загружает фрагмент в фрейм контента.
Я добавил несколько кнопок к одному из фрагментов (позже я добавлю некоторые к другим фрагментам), но я не могу понять, где или как прослушать нажатие кнопки, а затем как ее обработать.это изменить существующий фрагмент.
Я пытался добавить код в MainaActivity и Fragment, но он не работает.
Пример класса фрагмента
public class info extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//returning our layout file
//change R.layout.fragment for each of your fragments
return inflater.inflate(R.layout.fragment_info, container, false);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
//you can set the title for your toolbar here for different fragments different titles
getActivity().setTitle("Info");
}
}
Вот мой код, который обрабатывает исходные фрагменты
private void displaySelectedScreen(int itemId) {
//creating fragment object
Fragment fragment = null;
//initializing the fragment object which is selected
switch (itemId) {
case R.id.nav_atoz:
fragment = new atoz();
break;
case R.id.nav_colour:
fragment = new colour();
break;
case R.id.nav_type:
fragment = new type();
break;
case R.id.nav_info:
fragment = new info();
break;
}
//replacing the fragment
if (fragment != null) {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.content_frame, fragment).addToBackStack("tag");
ft.commit();
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
}
что я делаю неправильно?какие-либо предложения?я могу использовать Предметы на фрагменте, оформленном как кнопки, и вызывать их из оригинального оператора MainActivity Case?