老生常谈Listview中onItemClick中的各个参数(推荐)

老生常谈Listview中onItemClick中的各个参数(推荐),第1张

概述要实现点击上面listview中每一行中的请假就会获得该行的人名来调用相应的webservice接口,

要实现点击上面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中的各个参数(推荐)所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存