捕获单击Android中的自定义列表视图

捕获单击Android中的自定义列表视图,第1张

概述我使用自定义 XML文件在ListActivity中创建绑定我的db游标. XML文件中的每个项目都有2个按钮.我想捕获按钮的单击事件和列表中的位置. 这是我的XML文件 <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" an 我使用自定义 XML文件在ListActivity中创建绑定我的db游标. XML文件中的每个项目都有2个按钮.我想捕获按钮的单击事件和列表中的位置.

这是我的XML文件

<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:orIEntation="horizontal" androID:layout_wIDth="fill_parent"    androID:layout_height="fill_parent">    <TextVIEw androID:ID="@+ID/smListname" androID:paddingtop="2dip" androID:paddingBottom="3dip" androID:layout_wIDth="wrap_content"        androID:layout_height="fill_parent" androID:textSize="22dip" />    <button androID:ID="@+ID/smListCompleted" androID:layout_wIDth="wrap_content" androID:layout_height="fill_parent" androID:layout_gravity="right" androID:textStyle="bold" androID:textcolor="#0000ff"  />    <button androID:ID="@+ID/smListNotCompleted" androID:layout_wIDth="wrap_content" androID:layout_height="fill_parent" androID:layout_gravity="right" androID:textcolor="#ff0000"         androID:textStyle="bold" /></linearLayout>

这就是我的约束力

db = openorCreateDatabase("ITC",MODE_PRIVATE,null);Cursor outlets = db.rawquery("Select s.salesmanID as _ID,s.name ...",null);this.setlistadapter(new SimpleCursorAdapter(this,R.layout.salesmanList,outlets,new String[] { "name","complete","incomplete" },new int[] {R.ID.smListname,R.ID.smListCompleted,R.ID.smListNotCompleted }));db.close();

我没有使用自定义适配器.现在我想捕获smListNotCompleted和smListCompleted的单击以及行位置.

谢谢

解决方法 您将不得不使用新的适配器.在实现之前尝试理解这背后的概念:

class YourNewAdapter extends SimpleCursorAdapter{ public VIEw getVIEw(int position,VIEw convertVIEw,VIEwGroup parent) {        VIEw v = convertVIEw;        LayoutInflater vi = (LayoutInflater)c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);        v = vi.inflate(ID,null);         btn = (button)v.findVIEwByID(R.ID.yourbutton);           btn.setonClickListener(YourActivity.this);         btn.setID(position);         btn.setText("sometext");         v.setLongClickable(true);          }            return v;     } }

在你的活动中

public voID onClick(VIEw v){        if(v.getID() == R.ID.yourbutton ID)        {               // do what you want you can also put this on click Listener in the getvIEw fn         }    }
总结

以上是内存溢出为你收集整理的捕获单击Android中的自定义列表视图全部内容,希望文章能够帮你解决捕获单击Android中的自定义列表视图所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

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

原文地址: http://outofmemory.cn/web/1123035.html

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

发表评论

登录后才能评论

评论列表(0条)

保存