Listener w fragmencie

Listener w fragmencie
UA
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam, jak zrobić listenera w fragmencie w jakiej metodzie go zadeklarować na razie zrobiłem go w metodzie onCreateView i nie działa. Jestem laikiem jeżeli chodzi o tworzenie layoutu w javie. Tak to jakoś wstawiłemm, android studio nie wskazuje mi żadnego błędu więc nie wiem o co chodzi.

Kopiuj
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment

            View rootView = inflater.inflate(R.layout.fragment_one, container, false);         
            CheckBox checkBox1 = (CheckBox) rootView.findViewById(R.id.checkbox1);           
            checkBox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

                                                   @Override
                                                   public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
                                                       Log.i("wiadomosc","ta wiadomosc");
                                                   }
                                               }
            );

        return inflater.inflate(R.layout.fragment_one, container, false);
    }

Ostatecznie to ma to być coś takiego że po kliknięciu w checkboxa dwa edittexty zmieniają właściwość na disabled i nie można tam wpisać żadnej wartości. Wszystko jest w jednym fragmencie.

UA
  • Rejestracja: dni
  • Ostatnio: dni
0

Ok wygląda na to że problem był w tym że w złym miejscu to zadeklarowałem. Może być w metodzie onViewCreated bo teraz działają mi logi.

Michał Sikora
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 834
0

onCreateView też mógłbyś użyć. Miałeś błąd, ponieważ po utworzeniu widoku i ustawieniu listenera, zwracałeś nowy widok zamiast tego wcześniejszego. Powinno to wyglądać tak.

Kopiuj
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle inState) {
  View view = inflater.inflate(R.layout.moj_layout, parent, false);
  CheckBox checkBox = view.findViewById(R.id.checkBox);
  checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
    public void onCheckedChanged(CompoundButton button, boolean isChecked) {
      // Zrób coś.
    }
  });
  return view; // Tutaj miałeś błąd.
}
UA
  • Rejestracja: dni
  • Ostatnio: dni
0

ok dzięki, dopiero dzisiaj to odczytałem bo miałem pełno roboty.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.