如何为listview
中的每列提供单独的点击事件?我在textviews
的每一行中有两个listview
。我想为每个textview
处理两个单独的事件。
我该怎么做?请帮忙。
答案 0 :(得分:4)
您可以通过在您设置TextView值的自定义适配器中为TextView定义onClickListener来处理该click事件
这是
的代码段@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null){
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
converView = inflater.inflate(R.layout.your_layout, null);
final ViewHolder viewHolder = new ViewHolder();
viewHolder.textView1 = (TextView) view.findViewById(R.id.text1);
textView1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
// do whatever you want
};
});
viewHolder.textView2 = (TextView) view.findViewById(R.id.text2);
textView2.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
// do whatever you want
};
});
}
..........
}
答案 1 :(得分:0)
使用适配器创建自定义Listview时。
在你的getview()中设置Textview的点击监听器..
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)
getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.row, null);
}
TextView textViewTwo = (TextView) v.findViewById(R.id.text_view_two);
if (textViewTwo != null)
textViewTwo.setOnClickListener(this);
return v;
}
@Override
public void onClick(View v) {
Log.d("Sample", "Clicked on tag: " + v.getTag());
// Do something here, like start new activity.
}