单击项目时如何检查ListVIEw的CheckBox?
我有一个带CheckBox,TextVIEw,button的ListVIEw.
在这里,我想选择多行ListVIEw,以便使用CheckBox.如果我单击一行,我想要检查其相应的CheckBox并获取ListVIEw的单击项的RowID.
如果我点击按钮,我想打开一个d出窗口或另一个屏幕(活动),但不能检查CheckBox.
这该怎么做?请帮忙.
提前致谢.
编辑:
这就是我的布局.
使用Adapter到ListVIEw的代码很简单.
public class Adapter extends BaseAdapter{ private Context context; button btnVIEw; CheckBox Box; ArrayList<String> altextVIEw1; ArrayList<String> altextVIEw2; public Adapter(Context c, button vIEw, CheckBox checkBox, ArrayList<String> textVIEw1, ArrayList<String> textVIEw2) { this.context=c; this.btnVIEw=vIEw; this.Box=checkBox; this.altextVIEw1=textVIEw1; this.altextVIEw2=textVIEw2; } @OverrIDe public int getCount() { // Todo auto-generated method stub return altextVIEw1.size(); } @OverrIDe public Object getItem(int arg0) { // Todo auto-generated method stub return null; } @OverrIDe public long getItemID(int arg0) { // Todo auto-generated method stub return 0; } @OverrIDe public VIEw getVIEw(int arg0, VIEw arg1, VIEwGroup arg2) { // Todo auto-generated method stub VIEw vIEw=arg1; vIEw=LayoutInflater.from(context).inflate(R.layout.List7, null); TextVIEw tv1=(TextVIEw)vIEw.findVIEwByID(R.ID.tV1); TextVIEw tv2=(TextVIEw)vIEw.findVIEwByID(R.ID.tV2); btnVIEw=(button)findVIEwByID(R.ID.btnVIEw); Box=(CheckBox)findVIEwByID(R.ID.cB); tv1.setText(altextVIEw1.get(arg0)); tv2.setText(altextVIEw2.get(arg0)); return vIEw; }}
解决方法:
>将checkBox对象设置为行视图的标记,可能是适配器的getVIEw()方法中的’convertVIEw’.
>在行视图上写入单击侦听器.
>在单击侦听器内部,从onClick方法的视图中查看getTag,并将其强制转换为复选框,然后将setChecked设置为true.
代码可能看起来像这样,
convertVIEw.setTag(yourCheckBoxObject); convertVIEw.setonClickListener(new OnClickListener() { @OverrIDe public voID onClick(VIEw v) { CheckBox cb = (CheckBox) v.getTag(); cb.setChecked(true); } });
你需要按照这个线程来学习它..只需阅读整个线程并尝试理解然后实现..这是你能得到的最好的帮助. Getting an issue while checking the dynamically generated checkbox through list view
总结以上是内存溢出为你收集整理的android – 如何在单击项目时检查ListView的CheckBox?全部内容,希望文章能够帮你解决android – 如何在单击项目时检查ListView的CheckBox?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)