【发布时间】:2011-01-12 02:53:39
【问题描述】:
我对 Android 开发人员还很陌生,并且还在做很多事情。
我有一个使用以下代码显示的主菜单,但不知道如何禁用菜单中的选定项目。谁能帮我提供一些示例代码?
public class listTest extends ListActivity {
@Override
public void onCreate(Bundle savedState) {
super.onCreate(savedState);
setListAdapter(ArrayAdapter.createFromResource(this, R.array.mainMenu,
android.R.layout.simple_list_item_1));
//not sure how to disable list items here
}
protected void onListItemClick(ListView list, View view, int position, long id) {
// can disable items when they are clicked on
view.setEnabled(false);
}
}
我的 strings.xml 文件中有一个string-array:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="mainMenu">
<item>Item 1</item>
<item>Item 2</item>
<item>Item 3</item>
</string-array>
</resources>
谢谢
【问题讨论】:
-
几个快速澄清:如果你想要一个菜单,当用户按下菜单键时会弹出一个菜单,然后检查
Activity中的onCreateOptionsMenu方法。此外,您不需要像那样保留应用程序上下文;一个Activity已经扩展了Context(正如您在对createFromResource(this, ...)的调用中看到的那样。 -
我想要一个在应用程序首次打开时显示的主菜单,因此 optionsMenu 和 contextMenu 没有任何好处。我已经显示了列表,并且可以在单击项目时禁用它们: protected void onListItemClick(ListView list, View view, int position, long id) { view.setEnabled(false);但我不知道如何在 onCreate 中将选定的列表项设置为禁用。注意应用程序上下文 - 谢谢。
标签: java android list listview