【问题标题】:When I run app i got this error当我运行应用程序时出现此错误
【发布时间】:2015-12-31 11:48:59
【问题描述】:

我正在使用 Android Studio 我在运行应用程序时遇到问题((创建时))系统崩溃我认为这是因为我调用了

setContentView(R.layout.activity_main);

和我的组件(imageButton)

R.layout.home

  public class MainActivity extends AppCompatActivity
    implements NavigationView.OnNavigationItemSelectedListener {

Context context; //Declare the variable context

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    -
    -
    -

    -

    -
    Button Buying =(Button) this.findViewById(R.id.imageButton);
    Buying.setOnClickListener(new View.OnClickListener() {

       // @TargetApi(Build.VERSION_CODES.HONEYCOMB)
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this, TempActivity.class);
            startActivity(intent);
        }
    });


}

这是错误信息

进程:com.example.tariqlab.ar_right_draw_application,PID:19212 java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.tariqlab.ar_right_draw_application/com.example.tariqlab.ar_right_draw_application.MainActivity}:java.lang.NullPointerException:尝试调用虚拟方法 'void android.widget.Button。 setOnClickListener(android.view.View$OnClickListener)' 在空对象引用上 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2689) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2756) 在 android.app.ActivityThread.access$900(ActivityThread.java:177) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:145) 在 android.app.ActivityThread.main(ActivityThread.java:5940) 在 java.lang.reflect.Method.invoke(本机方法) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1389) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1184) 原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' 在 com.example.tariqlab.ar_right_draw_application.MainActivity.onCreate(MainActivity.java:55) 在 android.app.Activity.performCreate(Activity.java:6283) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119

【问题讨论】:

标签: java android


【解决方案1】:

只使用

Button Buying =(Button) findViewById(R.id.imageButton);

并根据您在 xml 文件中的定义检查您的 id 是否正确

【讨论】:

  • 按钮购买 =(Button) findViewById(R.id.imageButton); -- 未在 setContentView(R.layout.activity_main) 中定义; --- 但它是在 setContentView(R.layout.home); 中定义的
猜你喜欢
  • 2022-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-28
  • 2015-04-16
  • 1970-01-01
  • 2022-11-15
  • 1970-01-01
相关资源
最近更新 更多