Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 单击时操作栏项不工作_Android_Xml - Fatal编程技术网

Android 单击时操作栏项不工作

Android 单击时操作栏项不工作,android,xml,Android,Xml,我这里有一个不寻常的问题。我的动作条工作正常,然后我去测试它现在,它完全停止。当被按下时,他们没有回应。一个是后退按钮,另一个是发送按钮。这两个都不起作用。这是我的菜单代码 ActivityOne.java @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_send, menu); return true; } @Override publ

我这里有一个不寻常的问题。我的动作条工作正常,然后我去测试它现在,它完全停止。当被按下时,他们没有回应。一个是后退按钮,另一个是发送按钮。这两个都不起作用。这是我的菜单代码

ActivityOne.java

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_send, menu);
    return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {

        case R.id.home:
            super.onBackPressed();
            return true;

        case R.id.action_send:
            new PostUpLoad().execute();
            return true;

        default:
            return super.onOptionsItemSelected(item);
    }
}
menu_send.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"
   xmlns:tools="http://schemas.android.com/tools"
   tools:context=".ActivityOne">

 <item
    android:id="@+id/action_send"
    android:orderInCategory="100"
    android:title="@string/send"
    android:icon="@drawable/ic_send"
    app:showAsAction="ifRoom" />
 </menu>

一切似乎都很好,但根本不起作用。任何帮助都将不胜感激

您的开关盒中缺少中断,我不确定是否在OnCreateOptions菜单中返回true

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_send, menu);
    return super.onOptionsItemSelected(item);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {

    case R.id.home:
        super.onBackPressed(); //might use finish() instead
        break;

    case R.id.action_send:
        new PostUpLoad().execute();
        break;

    default:
        super.onOptionsItemSelected(item);
}

}用android.R.id.home替换R.id.home

哦,我以为回报会弥补这一点。我要试试看它是否有效。让我们知道它是如何工作的,如果有效,就标记为已解决!返回true很好。在这种情况下,如果处理单击,则返回true。我相信super.onOptionsItemsSelecteditem只会返回false。同样,在开关内返回显然会结束开关的执行,因为它将返回方法,所以这也不是问题。@AshkanShams,得到同样的问题。:。我现在得到了R.id.action\u send的错误信息:它给出了一个错误,无法解决。只能替换R.id.home不要替换R.id.action\u send好的,现在就试试。它成功了,谢谢。只需要找出另一个。我敢打赌是我的代码导致了它不起作用。多谢。