Błąd w aplikacji na Androida

0

Witam, mam mały problem z aplikacją na Andoida. Gdy próbuję zmienić tekst w TextView w konsoli dostaję to (64. linijka kodu):

java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.Window.findViewById(int)' on a null object reference
Kod programu jest tutaj: http://pastebin.com/c36g8ZkW . Pomoże ktoś? (szukałem już na różnych forach, lecz nic nie pomogło)

1

Błąd twierdzi że R.id.txtView jest nullem.

1

Nie znajduje Ci tego widoku TextView o podanym ID. Jesteś pewny że umieściłeś go na projekcie w xml?

1

Kilka dni temu miałem podobną sytułację w prywatnym projekcie, Nie znajdowało mi 3 przycisków mimo ze były one w xml. Przepisałem aplikację od nowa i .. pomogło ;) Wszystko śmiga aż miło. Więc jeżeli nie masz dużej aplikacji polecam przepisanie. Niestety nie mogłem obejrzeć kodu :(

1

wtf?

MainActivity mojTimer = new MainActivity();
textView = (TextView)findViewById(R.id.txtView);
mojTimer.start();

Po co Ci kolejna aktywność wewnątrz aktywności? Raz, że jest to bez sensu to dwa nigdy nie tworzy się aktywności ręcznie! To są komponenty systemu Android, które są przez niego zarządzane. Ta głupota doprowadziłą Cie do tego że obiekt Window, który przechowuje widoki jest nullem, bo stworzona ręcznie aktywność nie została poprawnie zainicjalizowana (wywołujesz metodę na obiekcie, który jest nullem = NPE).

0
bolson napisał(a):

wtf?

MainActivity mojTimer = new MainActivity();
textView = (TextView)findViewById(R.id.txtView);
mojTimer.start();

Po co Ci kolejna aktywność wewnątrz aktywności? Raz, że jest to bez sensu to dwa nigdy nie tworzy się aktywności ręcznie! To są komponenty systemu Android, które są przez niego zarządzane. Ta głupota doprowadziłą Cie do tego że obiekt Window, który przechowuje widoki jest nullem, bo stworzona ręcznie aktywność nie została poprawnie zainicjalizowana (wywołujesz metodę na obiekcie, który jest nullem = NPE).

Masz rację :) W xml'u wszystko jest ustawione. Gdy wyciąłem tą linijkę z

MainActivity mojTimer = new MainActivity();
pojawił się inny błąd:
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.

1

Nie możesz tykać UI'a z wątku który nie jest MainThreadem. Użyj Handlera. http://developer.android.com/reference/android/os/Handler.html#post(java.lang.Runnable)

0

Dzięki wszystkim za pomoc ;) W końcu udało mi się to uruchomić.

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