我如何使用菜单中的项目?
How do i use my items in my Menu?
我在操作栏中创建了一个菜单,但我不知道如何将其中的项目用作按钮。
这是我的菜单'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;
}
}
如何使用刚刚申报的物品?
例如 "Exit" 选项
我认为这是最基本的事情,虽然我不知道如何将项目作为按钮到达。或者它已经将它自己定义为按钮?
我想得到一个例子和解释。
使用这个
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.exitMenu:
//Your Logic
return true;
}
}
您在项目内部使用菜单项,这不是在菜单中对项目进行分组的正确方法。
试试这个 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;
}
}
使用 onOptionsItemSelected 方法。
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.exitMenu:
//code here
return true;
}
return(super.onOptionsItemSelected(item));
}
使用 switch case 来识别菜单项的 ID。
我在操作栏中创建了一个菜单,但我不知道如何将其中的项目用作按钮。
这是我的菜单'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;
}
}
如何使用刚刚申报的物品? 例如 "Exit" 选项
我认为这是最基本的事情,虽然我不知道如何将项目作为按钮到达。或者它已经将它自己定义为按钮?
我想得到一个例子和解释。
使用这个
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.exitMenu:
//Your Logic
return true;
}
}
您在项目内部使用菜单项,这不是在菜单中对项目进行分组的正确方法。
试试这个 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;
}
}
使用 onOptionsItemSelected 方法。
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.exitMenu:
//code here
return true;
}
return(super.onOptionsItemSelected(item));
}
使用 switch case 来识别菜单项的 ID。