Wyświetlanie podsumowującego tekstu po zaznaczeniu radiobuttonów.

0

Witajcie,

mam trzy fragmenty. W pierwszym fragmencie zaznaczyłem rb1 jako poprawną odpowiedź, w drugim fragmencie rb2 jako poprawną odpowiedź. Teraz chcę wyświetlić we fragmencie3 informację "Zaznaczyłeś prawidłowe odpowiedzi" ale bez dodawania w tym fragmencie3 'check buttona'. Po prostu bezpośrednio po zaznaczeniu wszystkich dwóch rb z fragmentu1 i fragmentu2 ma wyświetlić się automatycznie ten tekst.

Z góry dziękuję.

0

To może napisz co nie działa. Dodaj jakiś kod.

0

Cześć Mateusz,
dziękuję Ci serdecznie za zainteresowanie moim postem. Oto mój kod we Fragment_1 i adekwatnie mam to samo we Fragment_2. No i chcę osiągnąć to co w pierwszym poście.

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.fragment_1, container, false);
        RadioGroup rg1  = (RadioGroup) view.findViewById(R.id.radioGroup1);
        rg1.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                if (checkedId == R.id.radioButton1) {
                    Toast.makeText(getActivity(), "True", Toast.LENGTH_SHORT).show();
                    checked[0] = true;
                    answer[0] = true;
                } else {
                    checked[0] = true;
                    answer[0] = false;
                }
            }
        });
        return view;

    }
0

Definiujesz interface w swoim fragmencie:

public interface Listener {
        void onOptionSelected(int option);
}

Rzucasz błędem gdy nie ma implementacji:

@Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);

        try {
            mCallback = (Listener ) activity;
        } catch (ClassCastException e) {
            throw new ClassCastException(activity.toString()
                    + " must implement Listener");
        }
    }

W swoim kodzie obsługującym kliknięcie użytkownika dodajesz:

mCallback.onOptionSelected(option);

Następnie w Activity implementujesz metodę onOptionSelected w której wysyłasz dane do innego Activity w przykładzie dałem nazwę SecondActivity a w swoim kodzie dajesz swoją nazwę:

public void onOptionSelected(int option) {
            Intent myIntent = new Intent(this, SecondActivity.class);
            myIntent.putExtra("intSelectedOption", option);
            startActivity(myIntent);
        }
}

Następnie w tym drugim Activity w onCreate odbierasz dane:

 Intent myIntent = getIntent();
 int intValue = myIntent.getIntExtra("intSelectedOption", 0);

i wysyłasz je do drugiego fragmentu w przykładzie SecondFragment, a w swoim kodzie dajesz swoja nazwę, oprócz tego dajesz nazwę swojego view zamiast R.id.second_fragment_container:

SecondFragment second = new SecondFragment();
second.setArguments(intValue);

getSupportFragmentManager().beginTransaction().add(R.id.second_fragment_container, second).commit();

na koniec odbierasz w swoim fragmencie w onCreateView dane:

Bundle args = getArguments();
0

Super Haskell :)
Zanim zacznę wpisywać ten kod proszę dopisz jeszcze który dokładnie fragment Twojego kodu wpisać w moim Fragmencie3?

Wybacz pytanie, jestem początkującym.

0

czesc

1 użytkowników online, w tym zalogowanych: 0, gości: 1