【发布时间】:2016-02-15 01:48:00
【问题描述】:
当我尝试引用不在我的主 XML 文件中的按钮时出现空指针错误 - 它在另一个 XML 文件中。我希望它在另一个 XML 文件中的原因是,该按钮仅在用户按下 MenuItem 时显示,这将提示他们使用该按钮进入页面。
如何访问不在 main.xml 中的按钮?
这就是我所拥有的
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.timer_icon:
Button startButton = (Button) findViewById(R.id.timer_button);
startButton.setOnClickListener(new View.OnClickListener() {//error occurs here
public void onClick(View view) {//do stuff }
});
break;
}
XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/timer_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginBottom="37dp"
android:textSize="40sp"
android:textColor="#ffffff"
android:text="timer text"/>
<Button
android:id="@+id/timer_button"
android:layout_width="90dp"
android:layout_height="45dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="38dp"
android:text="timer button text" />
</LinearLayout>
如果重要的话,上面的 Java 代码在我的主要活动中。
【问题讨论】:
-
把它放在你的主xml中,默认隐藏。然后在
onMenuItemClick中设置可见性为VISIBLE