使用数组大小来控制选项菜单大小
Using Array size to control Options Menu size
我有一个对象数组,随着对象的添加和删除,它们的大小会发生变化。我的 activity 上有一个选项菜单,我希望能够选择您查看哪个对象的详细信息。
如何将数组详细信息传递给控制菜单的 xml 文件,以便我可以 运行 for 循环为数组中的每个对象向菜单添加一个项目?
我想实现这个 -
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
for(int i=0; i < bikes.size(); i==){
<item
android:id="@+id/bikes(i)"
android:title=bikes(i).getName()></item>
}
</menu>
但我当然在 xml,而不是 java。我该怎么做?
谢谢!
我会尝试以下代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
for(int i=0; i < bikes.size(); i++){
String bikeModelMenu = bikes.get(i).model;
menu.add(0, i, 0, bikeModelMenu).setShortcut('3', 'c');
}
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 0:
// code for first select
return true;
}
return super.onOptionsItemSelected(item);
}
我有一个对象数组,随着对象的添加和删除,它们的大小会发生变化。我的 activity 上有一个选项菜单,我希望能够选择您查看哪个对象的详细信息。
如何将数组详细信息传递给控制菜单的 xml 文件,以便我可以 运行 for 循环为数组中的每个对象向菜单添加一个项目?
我想实现这个 -
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
for(int i=0; i < bikes.size(); i==){
<item
android:id="@+id/bikes(i)"
android:title=bikes(i).getName()></item>
}
</menu>
但我当然在 xml,而不是 java。我该怎么做?
谢谢!
我会尝试以下代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
for(int i=0; i < bikes.size(); i++){
String bikeModelMenu = bikes.get(i).model;
menu.add(0, i, 0, bikeModelMenu).setShortcut('3', 'c');
}
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 0:
// code for first select
return true;
}
return super.onOptionsItemSelected(item);
}