0
내 스마트 폰에서 안드로이드 애플리케이션을 시작할 때 시스템은 항상 내 앱을 닫고 "죄송합니다. 애플리케이션이 폐쇄되었습니다."라고 말합니다.안드로이드 앱의 OnClickListener가 실패합니다
이것은 OnClickListener 때문입니다. 그러나 그 이유는 무엇입니까?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button addTodo = (Button) findViewById((R.id.addTodoButton));
Button cancel = (Button) findViewById(R.id.cancel);
cancel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
System.out.println("SEAS!");
}
});
}
스택 추적 : (A ALET 대화 상자에서 사용)
java.lang.RuntimeException: Unable to start activity ComponentInfo{sstodo.app/sstodo.app.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2266)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2316)
at android.app.ActivityThread.access$600(ActivityThread.java:150)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1298)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:213)
at android.app.ActivityThread.main(ActivityThread.java:5225)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:741)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at sstodo.app.MainActivity.onCreate(MainActivity.java:24)
at android.app.Activity.performCreate(Activity.java:5133)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2230)
버튼 :
<Button
android:id="@+id/addTodoButton"
android:text="@string/add"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:clickable="true"
style="@style/addButtonStyle"
/>
<Button
android:id="@+id/cancel"
android:text="@string/cancel"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:clickable="true"
style="@style/cancelButtonStyle"
/>
스택 추적 표시. – Houssni
또한 activity_main.xml ...을 표시하고 Button addTodo에 대한 대괄호를 제거하십시오. – Onik
첫 번째 것은 이중 대괄호를 제거합니다. 두 번째 것은 stacktrace를 게시하고 세 번째 것은 println 대신 Log.i/e/v 등을 사용하는 데 익숙해졌습니다. – Setu