2012-02-22 59 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

相关问题