要实现点击上面ListvIEw中每一行中的请假就会获得该行的人名来调用相应的webservice接口,
departmenttongji_item:
<linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:orIEntation="vertical" > <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="30dp" androID:orIEntation="horizontal" androID:gravity="center_vertical" > <TextVIEw androID:ID="@+ID/name" androID:layout_marginleft="@dimen/activity_vertical_margin" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:text="张三" /> <TextVIEw androID:visibility="gone" androID:ID="@+ID/dayofkq" androID:layout_marginleft="30dp" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" /> </linearLayout> <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="40dp" androID:orIEntation="horizontal" androID:gravity="center_vertical" > <TextVIEw androID:text="出勤" androID:layout_marginleft="16dp" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" /> <TextVIEw androID:gravity="center" androID:text="1" androID:ID="@+ID/work" androID:layout_marginleft="10dp" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:textcolor="@color/colorTran" androID:background="@drawable/sekuai_chuqin" /> <TextVIEw androID:text="请假" androID:layout_marginleft="14dp" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" /> <TextVIEw androID:gravity="center" androID:text="1" androID:ID="@+ID/holIDay" androID:layout_marginleft="10dp" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:textcolor="@color/colorTran" androID:background="@drawable/sekuai_chIDao" /> <TextVIEw androID:text="出差" androID:layout_marginleft="14dp" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" /> <TextVIEw androID:gravity="center" androID:text="1" androID:ID="@+ID/outwork" androID:layout_marginleft="10dp" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:textcolor="@color/colorTran" androID:background="@drawable/sekuai_chuchai" /> <TextVIEw androID:text="缺勤" androID:layout_marginleft="14dp" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" /> <TextVIEw androID:gravity="center" androID:text="1" androID:ID="@+ID/Nowork" androID:layout_marginleft="10dp" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:textcolor="@color/colorTran" androID:background="@drawable/sekuai_queqin" /> </linearLayout></linearLayout>
ListvIEw中的adapter:
public class KqtjAdapter extends BaseAdapter{ ArrayList<PersonKqStatisInfo> List;Context mcontext; public KqtjAdapter(ArrayList<PersonKqStatisInfo> List,Context mcontext) { this.List = List; this.mcontext = mcontext; } @OverrIDe public int getCount() { return List.size(); } @OverrIDe public Object getItem(int position) { return List.get(position); } @OverrIDe public long getItemID(int position) { return position; } @OverrIDe public VIEw getVIEw( int position,VIEw convertVIEw,VIEwGroup parent) { VIEwHolder vIEwHolder; if (convertVIEw==null) { convertVIEw = LayoutInflater.from(mcontext).inflate(R.layout.departmenttongji_item,null); vIEwHolder=new VIEwHolder(); vIEwHolder.holIDay=(TextVIEw)convertVIEw.findVIEwByID(R.ID.holIDay); vIEwHolder.name=(TextVIEw)convertVIEw.findVIEwByID(R.ID.name); vIEwHolder.work=(TextVIEw)convertVIEw.findVIEwByID(R.ID.work); vIEwHolder.Nowork=(TextVIEw)convertVIEw.findVIEwByID(R.ID.Nowork); vIEwHolder.outwork=(TextVIEw)convertVIEw.findVIEwByID(R.ID.outwork); vIEwHolder.dayofkq=(TextVIEw)convertVIEw.findVIEwByID(R.ID.dayofkq); convertVIEw.setTag(vIEwHolder); } else { vIEwHolder=(VIEwHolder)convertVIEw.getTag(); } vIEwHolder.name.setText(List.get(position).getname()); vIEwHolder.work.setText(List.get(position).getWork()+""); vIEwHolder.Nowork.setText(List.get(position).getNowork()+""); vIEwHolder.outwork.setText(List.get(position).getoutwrok()+""); vIEwHolder.holIDay.setText(List.get(position).getHolIDay()+""); vIEwHolder.holIDay.setonClickListener(new VIEw.OnClickListener() { @OverrIDe public voID onClick(VIEw v) { Log.i("tag","position:"+ position+""); } }); return convertVIEw; } class VIEwHolder{ TextVIEw name,work,Nowork,outwork,dayofkq,holIDay; }}
上面是该ListvIEw的adapter,如果直接在adapter中调用点击事件时发现Log.i(“tag”,”position:”+ position+”“)输出的position的值并不是所得到的点击的当前行的值,所以并不能通过这种方法来获取点击请假的时候获取当前行的人名。
这时候就这时候就要理解
public voID onItemClick(AdapterVIEw parent,VIEw vIEw,int position,long ID) {
}
中的参数的意思,其中vIEw是当前点击行所在的vIEw,position是当前行的位置其值和ID相同。
因此就可以在该方法中实现获取当前点击请假所在的行的人名:
ListVIEw.setonItemClickListener(new AdapterVIEw.OnItemClickListener() { @OverrIDe public voID onItemClick(AdapterVIEw<?> parent,long ID) { final TextVIEw name=(TextVIEw)vIEw.findVIEwByID(R.ID.name); vIEw.findVIEwByID(R.ID.work).setonClickListener(new VIEw.OnClickListener() { @OverrIDe public voID onClick(VIEw v) { Log.i("tag"," P: "+name.getText().toString()); } }); } });
上面的vIEw也就是当前所点击的行的vIEw,可以通过该vIEw来找到里面的每个元素。
以上这篇老生常谈ListvIEw中onItemClick中的各个参数(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。
总结以上是内存溢出为你收集整理的老生常谈Listview中onItemClick中的各个参数(推荐)全部内容,希望文章能够帮你解决老生常谈Listview中onItemClick中的各个参数(推荐)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)