Как заставить RadioButtons генерировать мне несколько локаций в Туристическом гиде на Android - PullRequest
0 голосов
/ 01 июля 2019

На этом изображении моя первая вкладка моего приложения.Когда я нажимаю «Памятник», я должен возвращать только те места, которые являются памятниками (в данном случае только первый элемент) У меня есть приложение для 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

...