2014-01-13 63 views
0

我有一個活動包含基本的ListView。該功能的工作原理如下:Android:開始一個新的活動onListViewItem點擊

單擊列表視圖項目 - >獲取列表視圖項目名稱 - >通過意圖傳遞名稱並開始新的活動。

除了開始新的活動以外,一切正在運行。它只是沒有反應,我不明白爲什麼。我真的很感激一雙額外的眼睛來看看這個。

listView = getListView(); 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, foodNames); 
listView.setAdapter(adapter); 

listView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
    public void onItemSelected(AdapterView parentView, View childView, int position, long id) { 

     TextView tv = (TextView) listView.getSelectedItem(); 
     String value = tv.getText().toString(); 

     Log.v("DEBUG","Name of item clicked" + value); 

     Intent intent = new Intent(childView.getContext(), FoodItemActivity.class); 
     intent.putExtra("FoodName", value); 
     startActivity(intent); 

    } 

    public void onNothingSelected(AdapterView parentView) { 
    } 
}); 

回答

8

我認爲你缺少線

startActivity(intent); 

:-)

+0

感謝貝托克,我已經加入這一行,但它仍然犯規call..Infact裏面什麼都沒有了onItemSelected被稱爲.. – BodhiByte

+0

嗯,你有沒有嘗試使用OnItemClickListener(setOnItemClickListener)而不是OnItemSelectedListener? –

+0

我試過這種方法,但無法讓它運作! – BodhiByte

0

試試這樣說:

listView.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView<?> parent, View view, 
     int position, long id) { 
     Intent intent = new Intent(view.getContext(), FoodItemActivity.class); 
     intent.putExtra("FoodName", value); 
     startActivity(intent); 
    } 
}); 

這將解決你的問題,如果仍然出現問題,然後確認所有子控件都是focusable=falseclickable=false