Използвам метода onClick на .xml изглед, за да уловя събитията при щракване в моя .java клас.
Обикновено работи добре. Но когато моята активност се изпълнява на заден план за дълго време, по-късно се стига до основната нишка и някой щраква върху изгледа, той връща следното изключение:
java.lang.NullPointerException
java.lang.IllegalStateException: Could not execute method of the activity
at android.view.View$1.onClick(View.java:3608)
at android.view.View.performClick(View.java:4101)
at android.view.View$PerformClick.run(View.java:17087)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
Ето моя view.xml:
<ToggleButton
android:id="@+id/fragment_main_colonies_tbFollow"
android:layout_width="match_parent"
android:layout_height="40dp"
android:checked="false"
android:onClick="onClickToggleColonyFollow"
android:textOff="@string/main_colony_follow"
android:textOn="@string/main_colony_follow" />
И ето моят fragment.java:
public void onClickToggleColonyFollow(View view) {
ToggleButton near = (ToggleButton)getView().findViewById(R.id.fragment_main_colonies_tbNear);
ToggleButton follow = (ToggleButton) view;
if(follow == null || near == null) return;
if(!near.isChecked() && !follow.isChecked()) {
follow.setChecked(true);
return;
}
near.setChecked(false);
showColoniesNear = false;
}
Какво правя грешно?
ToggleButton near = (ToggleButton)getView().findViewById(R.id.fragment_main_colonies_tbNear);
защо getView?? - person Raghunandan   schedule 02.05.2014public void onClickToggleColonyFollow(View view)
трябва да е в Дейност, а не във Фрагмент - person Raghunandan   schedule 02.05.2014button.setOnClickListener
във фрагмент и да се отървете отandroid:onClick="onClickToggleColonyFollow"
- person Raghunandan   schedule 02.05.2014