#android #androiddev #java Dobra panowie java zaczyna przyprawiać mnie o bóle głowy, kto mi powie czemu mi wywala taki błąd:
java.lang.IllegalStateException: Could not find a method Switch_ON(View) in the activity class android.app.Application for onClick handler on view class android.widget.Button with id 'ON_button' W xmlu mam android:onclick="SwitchON" w klasie MainActivity normalnie mam zaznaczone na żółto funkcje SwitchON iż coś się do niej odwołuje a tu takie kwiatki.
@donsalamanca: prawdopodobnie system szuka metody w innym kontekście. Pokaż metodę onCreate tego MainActivity. Ogólnie wklej cały kod XMLa i tego MainActivity
@Mithrindil: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Thread receiver = new Thread(new Receiver());//ten wątek jest już zaczynany tutaj bo inaczej by wywaliło błąd że został wcześniej
@donsalamanca: OK przyznaję że nie robiłem tego nigdy w ten sposób. Dlaczego koniecznie chcesz ustawiać nazwę metody w XMLu? Generalnie to nie jest zbyt dobra praktyka bo 1) powoduje problemy jakich doświadczasz 2) działa przez refleksję więc jest wolniejsza 3) bardziej związuje XML z kodem (a to nie jest dobra praktyka w przypadku gdy chcesz reużywać kod / widoki). Wg mnie lepiej stosować sprawdzone wzorce niż szukać przyczyny czemu to
metoda to SwitchON a onClick to Switch_ON - literowka, generalnie jak uzywasz w taki sposob i uzywasz Android Studio, to po najechaniu na zaroweczke masz opcje, zeby Ci stworzylo ta metode, wtedy unikniesz tego typu problemow
@donsalamanca: nic nie pisałem o onCreate ( ͡°͜ʖ͡°) skoro lista tworzona jest dynamicznie to masz do niej jakiś adapter. I ten adapter ma metodę getView(). I w tej metodzie getView tworzysz poszczególne wiersze listy i możesz dostać się do każdej kontrolki na wierszu i tam ustawić listenera.
To zalezy, wyobraz sobie, ze masz kilka fragmentow w jakiejs activity, i buttony w tych fragmentach maja ustawione onClick na te sama metode. W Activity mozesz rozroznic fragment, po samym kliknieciu, bo View odpowiada buttonowi ktory wywolal ta metode i jest w niej przekazywany jako argument. Wiec czasem to sie przydaje.
@rex1313: i tak i nie. Ja podchodzę raczej do tego tak że jeżeli mam na ekranie kilka fragmentów z przyciskami które robią to samo to jest to błąd w UX - no bo po co. Chyba że mówisz o fragmentach które nie są wyświetlane jednocześnie - wtedy OK.
Dobra panowie java zaczyna przyprawiać mnie o bóle głowy, kto mi powie czemu mi wywala taki błąd:
java.lang.IllegalStateException: Could not find a method Switch_ON(View) in the activity class android.app.Application for onClick handler on view class android.widget.Button with id 'ON_button'W xmlu mam android:onclick="SwitchON" w klasie MainActivity normalnie mam zaznaczone na żółto funkcje SwitchON iż coś się do niej odwołuje a tu takie kwiatki.
public void SwitchON(View v){
myListView = (ListView) findViewById(R.id.listView);
int position =
Komentarz usunięty przez autora
Komentarz usunięty przez autora
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Thread receiver = new Thread(new Receiver());//ten wątek jest już zaczynany tutaj bo inaczej by wywaliło błąd że został wcześniej
xml version="1.0" encoding="utf-8"?
To zalezy, wyobraz sobie, ze masz kilka fragmentow w jakiejs activity, i buttony w tych fragmentach maja ustawione onClick na te sama metode. W Activity mozesz rozroznic fragment, po samym kliknieciu, bo View odpowiada buttonowi ktory wywolal ta metode i jest w niej przekazywany jako argument. Wiec czasem to sie przydaje.