我遇到的问题是我的操作栏中有2个项目(一个'刷新'按钮和一个'保存'按钮,但由于某种原因它们没有显示,而是嵌套在选项菜单中(3个点)谁有人知道如何删除3点菜单并显示我的2项?我已经尝试了很多东西但最终我最终删除了所有这三项。提前致谢。
这是我的代码
add_event_action.xml(这是我的菜单xml)
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_refresh"
android:showAsAction="always"
android:icon="@drawable/ic_action_refresh"
android:title="Refresh"/>
<item
android:id="@+id/action_save"
android:showAsAction="always"
android:title="@string/save"/>
</menu>
这是我的Java类
public class RandomActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_events_list);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.add_event_action, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// action with ID action_refresh was selected
case R.id.action_refresh:
Toast.makeText(this, "Refresh selected", Toast.LENGTH_SHORT)
.show();
break;
// action with ID action_settings was selected
case R.id.action_save:
Toast.makeText(this, "Save selected", Toast.LENGTH_SHORT)
.show();
break;
default:
break;
}
return true;
}
}
答案 0 :(得分:4)
如果我理解正确,您的工具栏中需要两个菜单按钮。
这适用于我,将其放在menu.xml中:
<item
android:id="@+id/done"
android:title="@string/done"
app:showAsAction="always|withText"/>
答案 1 :(得分:2)
尝试使用app:showAsAction
代替android:showAsAction
答案 2 :(得分:1)
稍微扩展其他答案:
当您的活动延伸至AppCompatActivity
时,您的菜单项应使用app:showAsAction
。如果您的活动没有(也就是说,当您不使用AppCompat支持库时),您的菜单项应使用android:showAsAction
。
文档:http://tools.android.com/tips/lint-checks
AppCompatResource
摘要:菜单命名空间
优先级:5/10 严重性:错误 类别:正确性
使用appcompat库时,菜单资源应参考
showAsAction
命名空间中的app:
,而不是android:
命名空间。同样,当不使用appcompat库时,您应该使用
android:showAsAction
属性。