启动活动时,null指针异常android

时间:2014-03-09 22:35:39

标签: android nullpointerexception imagebutton null-pointer

您好我创建了一些图像按钮,然后在点击侦听器上添加了一些但是我得到了这个空指针异常错误。我已经包含了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)

2 个答案:

答案 0 :(得分:0)

找不到R.id.imageBtn1,因此findViewById返回null。然后,当您尝试设置onClickListener时,它会抛出异常。您可以通过添加空检查来避免异常,但要修复确保id在活动视图中所需的实际问题。

答案 1 :(得分:0)

如果您已完成所有操作并仍然抛出异常,请尝试使用Project - >清洁...

Similar post