Android 在布局中使用带有按钮的OnOptions ItemSelected

Android 在布局中使用带有按钮的OnOptions ItemSelected,android,android-layout,android-widget,android-button,Android,Android Layout,Android Widget,Android Button,我试图对Android教程中关于布局更改()的内容进行个性化设置,但代码中有以下代码 public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: // Navigate "up" the demo structure to the launchpad activity. // See http:/

我试图对Android教程中关于布局更改()的内容进行个性化设置,但代码中有以下代码

public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) {
    case android.R.id.home:
        // Navigate "up" the demo structure to the launchpad activity.
        // See http://developer.android.com/design/patterns/navigation.html
        // for more.
        NavUtils.navigateUpTo(this, new Intent(this, MainActivity.class));
        return true;

    case R.id.action_add_item:
        // Hide the "empty" view since there is now at least one item in the
        // list.
        findViewById(android.R.id.empty).setVisibility(View.GONE);
        addItem();
        return true;
    }

    return super.onOptionsItemSelected(item);
}
在我的情况下,菜单中没有按钮,但我会使用外部按钮。我正在尝试使用此按钮:

<Button
            android:id="@+id/buttonPost"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_marginLeft="30dp"
            android:layout_toRightOf="@+id/editTextComment"
            android:text="Post"
            android:onClick="add" />

但这个解决方案不起作用。有什么想法吗?

onoptions项selected
用于选项
菜单
,与
oncreateoptions菜单(菜单菜单)
一起使用。如果您希望此代码适用于
按钮
s和
按钮
id上的
开关
,只需将此代码移动到您的
onClick

public void add(View v) {

   switch (v.getId()) {
   case R.id.buttonPost:
        findViewById(android.R.id.empty).setVisibility(View.GONE);
        addItem();
        break;
    case R.id.another_button_id:
        // do something else
        break;
    }

}

在按钮上放置一个
OnClickListener

findViewById(R.id.buttonPost).setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        // do something here
    }
});

我正在尝试你的回答,但我有一个例外:。。。06-28 17:26:06.521:E/AndroidRuntime(17328):由以下原因引起:java.lang.NullPointerException 06-28 17:26:06.521:E/AndroidRuntime(17328):位于com.tmp.NewsDetailActivity.add(NewsDetailActivity.java:186)06-28 17:26:06.521:E/AndroidRuntime(17328):。。。14第186行是findViewById(android.R.id.empty).setVisibility(View.go);android.R.id.empty在哪里?您的
布局中没有
视图
,您使用
setContentView(…)
充气的
id
。您将需要向xmlok中添加任何假定的内容(
按钮、
编辑文本等)。我解决了删除行的问题,因为我删除了布局中的元素。我正在尝试您的Answare,但我有一个例外:。。。06-28 17:26:06.521:E/AndroidRuntime(17328):由以下原因引起:java.lang.NullPointerException 06-28 17:26:06.521:E/AndroidRuntime(17328):位于com.tmp.NewsDetailActivity.add(NewsDetailActivity.java:186)06-28 17:26:06.521:E/AndroidRuntime(17328):。。。14第186行是findViewById(android.R.id.empty).setVisibility(View.go);android.R.id.empty在哪里?您的布局是否有具有该id的视图?
findViewById(R.id.buttonPost).setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        // do something here
    }
});