[英]how to make some items of a listview non clickable?
我有以下代码,这很容易理解。 我希望此列表视图中的某个特定子项不可点击。
ArrayAdapter<String> adapter =
new ArrayAdapter<String>(this,R.layout.list_item,R.id.module_name_item, testdata);
m_listview.setAdapter(adapter);
Log.i("check","1");
if(sectionAttempts.get(0).equals("0"))
{
m_listview.getChildAt(2).setEnabled(false);
m_listview.getChildAt(3).setEnabled(false);
}
else
{
if(sectionAttempts.get(2).equals("0"))
{
m_listview.getChildAt(3).setEnabled(false);
}
}
我收到了错误
m_listview.getChildAt(2).setEnabled(false);
as java.lang.NullpointerException。 我试图找到错误并使用了Log.i(“check”,m_listview.getChildCount()); 它显示0.所以我猜列表视图还没有创建! 怎么可能。
什么似乎是问题? Thanx提前提供任何帮助。
覆盖areAllItemsSelectable()
方法。 返回false表示所有项目都不可点击。
@Override
public boolean areAllItemsSelectable() {
return false;
}
然后覆盖下面的方法以返回哪个项目不可点击
@Override
public boolean isEnabled(int position) {
if(position == your_item_pos) {
return false;
}
return true;
}
分享我的经验,以下做了诀窍(视图指的是列表项视图):
view.setEnabled(false);
view.setOnClickListener(null);
好像你没有初始化你的ListView。 在onCreate
如果使用ListActivity,则使用m_listview=getListView()
如果使用常规活动,则使用m_listview=findViewById(R.id...)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.