ImageButton을 수행하는 동안 런타임에 null 포인터 예외가 발생합니다.
StackTrace :
E/AndroidRuntime(1308): FATAL EXCEPTION: main
E/AndroidRuntime(1308): Process: com.stephen.application, PID: 1308
E/AndroidRuntime(1308): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.stephen.application/com.stephen.application.MainActivity}: java.lang.NullPointerException
E/AndroidRuntime(1308): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
E/AndroidRuntime(1308): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
E/AndroidRuntime(1308): at android.app.ActivityThread.access$800(ActivityThread.java:135)
E/AndroidRuntime(1308): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
E/AndroidRuntime(1308): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(1308): at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime(1308): at android.app.ActivityThread.main(ActivityThread.java:5017)
E/AndroidRuntime(1308): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(1308): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime(1308): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
E/AndroidRuntime(1308): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
E/AndroidRuntime(1308): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(1308): Caused by: java.lang.NullPointerException
E/AndroidRuntime(1308): at com.stephen.application.MainActivity.onCreate(MainActivity.java:21)
E/AndroidRuntime(1308): at android.app.Activity.performCreate(Activity.java:5231)
E/AndroidRuntime(1308): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
E/AndroidRuntime(1308): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
E/AndroidRuntime(1308): ... 11 more
MainActivity.java :
import android.app.Activity;
import android.os.Bundle;
import android.widget.ImageButton;
import android.widget.Toast;
import android.view.View;
import android.view.View.OnClickListener;
public class MainActivity extends Activity {
ImageButton imageButton1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageButton ImageButton1=(ImageButton)findViewById(R.id.imageButton1);
imageButton1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,"ImageButton is Clicked", Toast.LENGTH_SHORT).show();
}
});
}
}
activity_main.xml :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/android" />
</LinearLayout>
이 문제를 해결하는 방법을 모르겠습니다. 누구나이 문제를 해결하도록 도와 줄 수 있습니다. 감사합니다.
ImageButton의 다른 개체를 만들 필요가 없습니다 . 전역 ImageButton imageButton1 에서 선언 한 것을 사용할 수 있습니다 . .
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageButton1=(ImageButton)findViewById(R.id.imageButton1);
imageButton1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,"ImageButton is Clicked", Toast.LENGTH_SHORT).show();
}
});
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다