今天就跟大家聊聊有关Listview中onItemClick参数的作用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
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, 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()); } }); } });
看完上述内容,你们对Listview中onItemClick参数的作用有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。