2011-06-11 120 views
0

我有一个自定义列表视图与Baseadapter实施。我的数据集包含一个字符串和一个标志。我需要控制列表视图中每行的clickable属性基于此标志..任何帮助将不胜感激..Android的listview处理点击事件

+0

每行可点击的行为?你想根据国旗准确实施什么? – 2011-06-11 08:13:58

+0

如果你想实现点击侦听器,然后通过这个例子:http://goo.gl/7bl4j,http://goo.gl/psSJY,http://goo.gl/wQAr1 – 2011-06-11 08:21:53

+0

检查我的答案。 – Varun 2011-06-11 12:10:37

回答

1

我明白你的数据集是一个包含字符串和标志数据对象的集合。在这种情况下,你可以override在你的基地适配器isEnabled(int position)这样

public boolean isEnabled(int position){ 
    return myDataSet.get(position).getFlag();// returning true here will make that item clickable 
} 

注意,我指的是相应位置的我的数据对象。

4

嗨subi你可以使用下面的代码设置clicklistener ....

lv.setAdapter(new ArrayAdapter(ClassName.this)); 
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() 
{ 
     @Override 
     public void onItemClick(AdapterView arg0, View arg1,int arg2, long arg3) 
     { 
     } 
}); 

其中一个arrayAdapter是你的客户类扩展baseadapter ... 希望这有助于...

+0

我得到了点击事件..但真正的问题是我必须禁用一些行,根据我设置的标志.. 感谢您的兴趣.. – 2011-06-11 08:25:09

0

如果你想自定义属性列表视图尝试实现自己的customAdapter它扩展了baseAdapter

public class CustomListAdapter extends BaseAdapter { 
private ArrayList<Generics> allElementDetails; 

private LayoutInflater mInflater; 

public CustomListAdapter(Context context, ArrayList<Generics> results) { 
    allElementDetails = results; 
    mInflater = LayoutInflater.from(context); 

} 
public int getCount() { 
    return allElementDetails.size();   
} 
public Object getItem(int position) { 
    return allElementDetails.get(position); 
} 
public long getItemId(int position) { 
    return position; 
} 
public View getView(int position, View convertView, ViewGroup parent) 
{ 
    convertView = mInflater.inflate(R.layout.filedialog, null); 
    ImageView imageview = (ImageView) convertView.findViewById(R.id.imageview); 
    TextView textview = (TextView) convertView.findViewById(R.id.textview); 
    if(flag==true) 
      convertview.setClickable(true) 
    else 
      convertview.setClickable(false); 
    return convertView; 
}  

}

现在使用的listview.setOnItemClickListener时应用的操作即当可点击视图点击将执行功能。

我想这可能帮助ü....

+0

我试过这个..但没有为我工作.. – 2011-06-11 09:04:06