【发布时间】:2019-09-01 11:43:44
【问题描述】:
我试图在我的Home 活动中定义一个按钮来打开我的Settings 活动,但我得到了错误:
java.lang.RuntimeException:无法启动活动 组件信息{com.example.padmw/com.example.padmw.Home}: java.lang.NullPointerException:尝试调用虚拟方法'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' 在空对象引用上
我的设置项布局在res/menu,我尝试将它移动到res/layout,但它说元素项不应该在那里。我该怎么办?
我在 Home.class 中的按钮:
Button mButton = (Button) findViewById(R.id.action_settings);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(Home.this, SettingsActivity.class));
}
});
我在 res/home.xml 中的项目:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_settings"
app:showAsAction="never" />
</menu>
【问题讨论】:
-
只有当您的问题与 IDE android-studio 直接相关时,请使用 android-studio 标签。