您好我创建了一些图像按钮,然后在点击侦听器上添加了一些但是我得到了这个空指针异常错误。我已经包含了logcat,如果这更有帮助。任何建议伙伴们?非常感谢!
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
public class menuloader extends Activity {
private final String TAG = "Main Activity";
ImageButton imgButton1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menulayout);
addButtonListener1();
addButtonListener2() ;
addButtonListener3() ;
addButtonListener4() ;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
Log.i(TAG,"OnCreate");
return true;
}
public void addButtonListener1() {
imgButton1 = (ImageButton) findViewById(R.id.imageBtn1);
imgButton1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getApplicationContext(),
bars.class);
startActivity(intent);
}
});
}
public void addButtonListener2() {
imgButton1 = (ImageButton) findViewById(R.id.imageButton2);
imgButton1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getApplicationContext(),
ListViews.class);
startActivity(intent);
}
});
}
public void addButtonListener3() {
imgButton1 = (ImageButton) findViewById(R.id.imageButton3);
imgButton1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getApplicationContext(),
barsandrest.class);
startActivity(intent);
}
});
}
public void addButtonListener4() {
imgButton1 = (ImageButton) findViewById(R.id.imageButton4);
imgButton1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getApplicationContext(),
events.class);
startActivity(intent);
}
});
}
}
logcat的
03-09 22:20:23.173: E/AndroidRuntime(8267): Caused by: java.lang.NullPointerException
03-09 22:20:23.173: E/AndroidRuntime(8267): at
com.example.demomap.menuloader.addButtonListener1(menuloader.java:54)
03-09 22:20:23.173: E/AndroidRuntime(8267): at com.example.demomap.menuloader.onCreate
(menuloader.java:23)
03-09 22:20:23.173: E/AndroidRuntime(8267): at android.app.Activity.performCreate
(Activity.java:5133)
03-09 22:20:23.173: E/AndroidRuntime(8267): at
android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
03-09 22:20:23.173: E/AndroidRuntime(8267): at
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
答案 0 :(得分:0)
找不到R.id.imageBtn1,因此findViewById返回null。然后,当您尝试设置onClickListener时,它会抛出异常。您可以通过添加空检查来避免异常,但要修复确保id在活动视图中所需的实际问题。
答案 1 :(得分:0)
如果您已完成所有操作并仍然抛出异常,请尝试使用Project - >清洁...