我是Android新手。我正在研究一个基于listView的应用程序:你有一个主菜单,当你点击一个项目时,一个新的活动从另一个菜单开始;当您再次点击时,新的活动将从您选择的内容开始。自从我的菜单项目相当多,我已经建立负责处理所有可能的情况下,监听器,所以我类似的东西:Android:在基于listView的应用程序中处理onItemClick()
@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:列表'TextViews不能正确呈现:文本显示为浅灰色,而不是黑色! O.o
在我看来,你不应该为此使用ListView。这听起来更像是滚动视图内的线性布局,您可以点击按钮。 – dmon