给个例子你:
private class TestAdapter extends BaseAdapter {
private LayoutInflater mInflater
private Context con
public TestAdapter (Context context) {
// Cache the LayoutInflate to avoid asking for a new one each time.
con = context
mInflater = LayoutInflater.from(context)
}
public int getCount() {
return list.size()
}
public Object getItem(int position) {
return position
}
public long getItemId(int position) {
return position
}
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder holder
if (convertView == null) {
convertView = mInflater.inflate(R.layout.list, null)
holder = new ViewHolder()
holder.bt01 = (Button) convertView.findViewById(R.id.bt01)
holder.bt02 = (Button) convertView.findViewById(R.id.bt02)
holder.bt03 = (Button) convertView.findViewById(R.id.bt03)
convertView.setTag(holder)
} else {
holder = (ViewHolder) convertView.getTag()
}
final int arg = position
//bt01点击
holder.bt01.setOnClickListener(new ImageView.OnClickListener(){
public void onClick(View v) {
}
})
//bt02点击
holder.bt02.setOnClickListener(new ImageView.OnClickListener(){
public void onClick(View v) {
}
})
//bt03点击
holder.bt03.setOnClickListener(new ImageView.OnClickListener(){
public void onClick(View v) {
}
})
return convertView
}
class ViewHolder {
Button bt01
Button bt02
Button bt03
}
}
给Listview里面Item里的每一个控件怎么设定点击事件adpter用的是继承的baseadapter,给整个listview 上的 Item 设置点击事件就用listview.setOnItemClickListener(listener)就可以, 下面介绍 如果 给 I tem里面某一 控件设置点击事件。方法是重写 Adapter。
ListView工作原理(针对下面代码):
1. 给ListView设置数据适配器,此处程序是自己重写的Adapter,创建Adapter 的时候主要做下面的工作:
(1)把ListView需要显示的数据传给Adapter
(2)把ListView显示Item的界面传给Adapter
(3)把上下文对象传给Adapter,主要用来得到LayoutInflater对象来得到Item界面
2. 给ListView设置当点击Item对象的时候执行的 *** 作,此处要实现给Item中的各项也就是该程序的三个TextView设置监听器,也就是调用Adapter中的getView函数。
3. getView函数实现的 *** 作是:第一要将Item要显示的数据显示,然后设置监听器,为监听器设置 *** 作。
把数据的初始化,也就是你二维数组的赋值放到MainActivity里面
然后通过adapter的构造方法传进去
最后监听事件里获取就行了
public boolean onChildClick(ExpandableListView expandableListView, View view, int i, int i1, long l) {String str=names[i][i1]
Toast.......
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)