我在操作栏中创建了一个菜单,但我不知道如何将其中的项目用作按钮。
这是我的菜单' xml'代码:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:icon="@drawable/ic_add_circle_outline_black_24dp"
android:title=""
app:showAsAction="ifRoom">
<menu>
<item
android:id="@+id/deleteMenu"
android:title="Delete All" />
<item
android:id="@+id/exitMenu"
android:title="Exit" />
</menu>
</item>
<item
android:id="@+id/addMovieOffline"
android:title="Offline Mode" />
<item
android:id="@+id/addMovieOnline"
android:title="Online Mode" />
</menu>
这就是我在java中所拥有的:
public class MyMainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_main);
}
// "Creating" my menu.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.main_menu, menu);
return true;
}
}
我如何使用我刚刚声明的项目? 例如&#34;退出&#34;选项
我认为这是最基本的事情,虽然我不知道如何将项目作为按钮来实现..或者它已经将自己定义为按钮?
我想得到一个例子和解释。
答案 0 :(得分:0)
使用此
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.exitMenu:
//Your Logic
return true;
}
}
答案 1 :(得分:0)
您正在使用项目内的菜单项,这不是在菜单中对项目进行分组的正确方法。
尝试使用此xml生成菜单
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<group android:id="@+id/my_menu" android:checkableBehavior="single">
<item
android:id="@+id/deleteMenu"
android:title="Delete All" />
<item
android:id="@+id/exitMenu"
android:title="Exit" />
</group >
<item
android:id="@+id/addMovieOffline"
android:title="Offline Mode" />
<item
android:id="@+id/addMovieOnline"
android:title="Online Mode" />
</menu>
用于接收点击菜单的事件:
@override public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.item1:
// action needed
return true;
case R.id.item2:
// action needed
return true;
}
}
答案 2 :(得分:0)
使用onOptionsItemSelected方法。
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.exitMenu:
//code here
return true;
}
return(super.onOptionsItemSelected(item));
}
使用开关案例识别菜单项的ID。