2012-02-22 88 views
0

這是我的Activity開放。Android Set ListView OnItemClickListener

public class SettingActivityR extends CommBaseActivity implements OnItemClickListener 

的CommBaseActivity是,從活動

延伸,並在SettingActivityR該結構包含一個ListView名SeverListView

我在活動onCreate方法

SeverlistView.setAdapter(this.m_adapter); 
    SeverlistView.setClickable(true);//already set it Clickable! 
    SeverlistView.setOnItemClickListener(this); 
設置這些設置的類手柄通信

並覆蓋方法

@Override 
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
// TODO Auto-generated method stub 
SeverDataList targetSeverItem=m_adapter.items.get(arg2); 
Log.i("bird","zzz");  
} 

該適配器工作正常,但OnItemClickListener根本不起作用。調試模式甚至沒有運行到這種方法。這是爲什麼?

回答

0

SettingActivityR應該擴展ListActivity。在onCreate()中,調用setListAdapter(this.m_adapter);在onCreate()中,調用setListAdapter(this.m_adapter);

從這裏,onListItemClick()方法應該爲您處理回調。

+0

但SettingActivityR不僅僅是一個ListView, 如果我還需要SettingActivityR從活動 延長我該怎麼辦? – 2012-02-22 03:29:35

+0

除非您的活動需要顯示多於1個ListView,否則ListActivity非常充分,您仍然可以按照常規添加和自定義其他小部件。 – Maurice 2012-02-22 03:50:34

+0

嗡嗡....但我仍然想使用活動中的結構... 導致每個活動可以從它擴展... – 2012-02-22 04:03:59

0

您可以嘗試用您提供的樣品here更換您的Adapter嗎?滾動到頁面的結尾,你會看到

String[] countries = getResources().getStringArray(R.array.countries_array); 
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, countries)); 

如果這個工作正常,但您的適配器沒有,那麼有可能是具體的,你需要在你的適配器做一些事情。你能分享你的適配器代碼嗎?

+0

我試過...不工作....;( – 2012-02-22 04:09:01

+0

我們需要看到更多的代碼才能夠幫助你,我創建了一個簡單的'Activity'(不是'ListActivity'),並在我上面提供的鏈接中試用了這個例子,它運行良好,我可以看到'Toast'。 – curioustechizen 2012-02-22 06:05:37

相關問題