我该如何为listview
中的每一列设置单独的点击事件?每行listview
中有两个textviews
,我想为每个textview
分别处理不同的事件。
我该怎么做?请帮忙。
我该如何为listview
中的每一列设置单独的点击事件?每行listview
中有两个textviews
,我想为每个textview
分别处理不同的事件。
我该怎么做?请帮忙。
@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
};
});
}
..........
}
当您使用适配器创建自定义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.
}