我是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