На этом изображении моя первая вкладка моего приложения.Когда я нажимаю «Памятник», я должен возвращать только те места, которые являются памятниками (в данном случае только первый элемент) У меня есть приложение для Android, и у меня есть что-то вроде Туристического путеводителя, и я сделал 3 RadioGroups
с 4 RadioButtons
для всех.У меня есть код для этих кнопок, но я не знаю, почему мое приложение зависло, когда я пытался выбрать кнопку.У каждого местоположения есть категория, где есть больше местоположений с другим идентификатором для RadioButton.Например, в классе CategoryVisitFragment
у меня есть места для посещения, где у меня было 4 различных типа radiobuttons
.
Я пытался получить данные из strings.xml
для мест.Эти данные должны возвращать изображение, имя, описание и детали.Я не знаю, почему rootView возвращает ноль.
private void updateFragment() {
RadioGroup radioGroup1 = findViewById(R.id.mRadioGroup);
RadioButton checkedRbGroup1 = findViewById(radioGroup1.getCheckedRadioButtonId());
RadioGroup radioGroup2 = findViewById(R.id.mRadioGroup2);
RadioButton checkedRbGroup2 = findViewById(radioGroup2.getCheckedRadioButtonId());
Fragment currentFragment = (Fragment) getCurrentFragment();
View rootView = currentFragment.getView();//rootView este null si nu am reusit sa-mi dau seama de ce
ListView listView = rootView.findViewById(R.id.list);//NPE
ArrayAdapter<PlaceToVisit> arrayAdapter = (ArrayAdapter)listView.getAdapter();
arrayAdapter.clear();
if (currentFragment instanceof CategoryVisitFragment
&& checkedRbGroup1.getText().toString().equals("Monument")) {
arrayAdapter.add(new PlaceToVisit(getString(R.string.visit_item1_name), R.drawable.catedrala_tm,
getString(R.string.visit_item1_description),getString(R.string.visit_item1_information)));
}
arrayAdapter.notifyDataSetChanged();
}
Это для создания местоположений, а даты для visit_item1_name, visit_item1_description, visit_item1_details указаны в строках
// Inflate the layout for this fragment
View rootView = inflater.inflate(R.layout.category_list, container, false);
// Create the list for the Visit Category. All texts are stored as Strings.
final ArrayList<PlaceToVisit> listOfPlaces = new ArrayList<PlaceToVisit>();
listOfPlaces.add(new PlaceToVisit(getString(R.string.visit_item1_name), R.drawable.catedrala_tm,
getString(R.string.visit_item1_description),getString(R.string.visit_item1_information)));
Я ожидаю выводвыбора RadioButton, который имел android:id="@+id/monumentRadioButton"
или android:text="Monument"
, чтобы вернуть место со всеми деталями для catedrala_tm