我是安卓新手。我正在开发一个基于 listView 的应用程序:您有一个主菜单,当您单击一个项目时,一个新的活动会从另一个菜单开始;当您再次单击时,一个新的活动将从您选择的内容开始。由于我有很多菜单项,我必须创建一个处理所有可能情况的侦听器,所以我有类似的东西:
@Override public void onItemClick(AdapterView<?> listAdapter, View v, int position, long id) {
String text = ((TextView)v).getText().toString();
//main menu
if (text.equals(K.getStringById(K.ID_MAIN_THEORY))) {
...
} else if (text.equals(K.getStringById(K.ID_MAIN_EXERCISE))) {
...
}
else if (text.equals(K.getStringById(K.ID_MAIN_TABLES))) {
...
}
//here other menus' items: lots of items
...
//back item
else if (text.equals(K.getStringById(K.ID_BACK))) {
activity.finish();
}
Intent i = new Intent(...);
startActivity(i);
}
* K is a class that holds ids' references
有一种方法可以避免硬编码侦听器行为吗?
** PS:列表的 TextView 无法正确呈现:文本显示为浅灰色,而不是黑色!哦