怎么给list,view里面的BUtton设置点击事件

怎么给list,view里面的BUtton设置点击事件,第1张

需要自定义LISTVIEW的适配器。在getview方法里面设置三个button的点击事件

给个例子你:

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.......

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11590372.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存