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

发布时间 - 2026-01-11 00:36:06    点击率:

要实现点击上面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="张三"
        style="@style/home_word_style"
        />
      <TextView
        android:visibility="gone"
        android:id="@+id/dayofkq"
        android:layout_marginLeft="30dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        style="@style/home_word_style"
        />
    </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"
        style="@style/home_word_style"
        />
      <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"
        style="@style/home_word_style"
        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"
        style="@style/home_word_style"
        />
      <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"
        style="@style/home_word_style"
        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"
        style="@style/home_word_style"
        />
      <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"
        style="@style/home_word_style"
        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"
        style="@style/home_word_style"
        />
      <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"
        style="@style/home_word_style"
        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, View view, int position,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  # Android ListView的OnItemClickListener详解  # Android ListView获得选项中的值  # 给大家  # 这时候  # 就会  # 老生常谈  # 可以通过  # 希望能  # 这篇  # 并不能  # 方法来  # 小编  # 大家多多  # 就可以  # layout_marginLeft  # TextView  # id  # dimen  # 张三  # wrap_content  # activity_vertical_margin  # gt 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  详解Android图表 MPAndroidChart折线图  如何在Windows 2008云服务器安全搭建网站?  javascript中对象的定义、使用以及对象和原型链操作小结  如何挑选优质建站一级代理提升网站排名?  用yum安装MySQLdb模块的步骤方法  Python3.6正式版新特性预览  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  电商网站制作价格怎么算,网上拍卖流程以及规则?  如何用腾讯建站主机快速创建免费网站?  nodejs redis 发布订阅机制封装实现方法及实例代码  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  JavaScript实现Fly Bird小游戏  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  JavaScript如何实现继承_有哪些常用方法  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  青岛网站建设如何选择本地服务器?  如何选择PHP开源工具快速搭建网站?  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  Laravel如何实现事件和监听器?(Event & Listener实战)  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  如何快速打造个性化非模板自助建站?  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  Laravel如何使用Livewire构建动态组件?(入门代码)  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  如何在阿里云高效完成企业建站全流程?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】  Swift开发中switch语句值绑定模式  高性价比服务器租赁——企业级配置与24小时运维服务  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  Thinkphp 中 distinct 的用法解析  Laravel怎么在Blade中安全地输出原始HTML内容  香港服务器网站推广:SEO优化与外贸独立站搭建策略  html5的keygen标签为什么废弃_替代方案说明【解答】  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  怎么用AI帮你设计一套个性化的手机App图标?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  如何快速搭建高效香港服务器网站?