- W MainActivity masz metodę:
public void onClickTxt(View view, ListAdapter adapter) {
Intent k = new Intent(MainActivity.this, ListActivity.class);
list.setAdapter(adapter);
}
Metoda ta teoretycznie jest podpięta pod onClick w pliku activity_main jako android:onClick="onClickTxt". Dlaczego teoretycznie? Ponieważ żeby podpiąć metodę w android:onClick xmlu musi ona mieć inną listę parametrów:
```
public void onClickTxt(View view) {}
Dodatkowo pole list nie jest zainicjowane ani nie jest w ogóle potrzebne w tej aktywności - jak rozumiem z kontekstu w onClickTxt chciałbyś otworzyć inna aktywność, robi się to poprzez wywołanie
startActivity( Intent );
W Twoim przypadku będzie to:
public void onClickTxt(View view) {
Intent k = new Intent(MainActivity.this, ListActivity.class);
startActivity(k);
}
2.
Po zmianie powyższego kodu aplikacja będzie nadal się crashować po przyciśnięciu na w/w przycisk. Problemem jest to że w widoku aktywności R.layout.activity_list nie masz osadzonego / dodanego widgetu listy. Wystarczy że w ConstraintLayout umieścisz
<ListView
android:id="@id/listViev"
android:layout_width="match_parent"
android:layout_height="match_parent" />
Po tych zmianach u mnie działa.
Jeśli mógłbym doradzić dalsze usprawnienia:
1. Nie używa się już listview - warto zmienić na RecyclerView
2. Jak przełączysz na logcata na belce na dole, wybierzesz swój emulator oraz ustawisz na Error w widoku to będziesz mógł prościej śledzić problemy.
Powodzenia!