老生常談Listview中onItemClick中的各個(gè)參數(shù)(推薦)

要實(shí)現(xiàn)點(diǎn)擊上面listview中每一行中的請(qǐng)假就會(huì)獲得該行的人名來調(diào)用相應(yīng)的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="請(qǐng)假"
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中調(diào)用點(diǎn)擊事件時(shí)發(fā)現(xiàn)Log.i(“tag”,”position:”+ position+”“)輸出的position的值并不是所得到的點(diǎn)擊的當(dāng)前行的值,所以并不能通過這種方法來獲取點(diǎn)擊請(qǐng)假的時(shí)候獲取當(dāng)前行的人名。
這時(shí)候就這時(shí)候就要理解
public void onItemClick(AdapterView parent, View view, int position,long id) {
}
中的參數(shù)的意思,其中view是當(dāng)前點(diǎn)擊行所在的view,position是當(dāng)前行的位置其值和id相同。
因此就可以在該方法中實(shí)現(xiàn)獲取當(dāng)前點(diǎn)擊請(qǐng)假所在的行的人名:
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也就是當(dāng)前所點(diǎn)擊的行的view,可以通過該view來找到里面的每個(gè)元素。
以上這篇老生常談Listview中onItemClick中的各個(gè)參數(shù)(推薦)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
利用Warensoft Stock Service編寫高頻交易軟件
本文主要介紹了利用Warensoft Stock Service編寫高頻交易軟件的方法步驟,具有一定的參考價(jià)值,下面跟著小編一起來看下吧2017-01-01
Android實(shí)現(xiàn)從底部彈出的Dialog示例(一)
這篇文章主要介紹了Android實(shí)現(xiàn)從底部彈出的Dialog示例(一),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-01-01
Android 手機(jī)衛(wèi)士實(shí)現(xiàn)平移動(dòng)畫示例
這篇文章主要介紹了Android 手機(jī)衛(wèi)士實(shí)現(xiàn)平移動(dòng)畫的實(shí)例代碼,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-10-10
android針對(duì)json數(shù)據(jù)解析方法實(shí)例分析
這篇文章主要介紹了android針對(duì)json數(shù)據(jù)解析方法,以實(shí)例形式較為詳細(xì)的分析了Android操作json格式數(shù)據(jù)的各種常用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10
談?wù)凙ndroid的三種網(wǎng)絡(luò)通信方式
Android平臺(tái)有三種網(wǎng)絡(luò)接口可以使用,他們分別是:java.net.*(標(biāo)準(zhǔn)Java接口)、Org.apache接口和Android.net.*(Android網(wǎng)絡(luò)接口)。本文詳細(xì)的介紹,有興趣的可以了解一下。2017-01-01
Android編程實(shí)現(xiàn)EditText字?jǐn)?shù)監(jiān)聽并顯示的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)EditText字?jǐn)?shù)監(jiān)聽并顯示的方法,涉及Android EditText文本框事件監(jiān)聽與響應(yīng)相關(guān)操作技巧,需要的朋友可以參考下2017-02-02
Android如何判斷當(dāng)前點(diǎn)擊位置是否在圓的內(nèi)部
這篇文章主要為大家詳細(xì)介紹了Android如何判斷當(dāng)前點(diǎn)擊位置是否在圓的內(nèi)部,解析拖動(dòng)圓形控件之內(nèi)響應(yīng)觸摸事件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
Android通知欄前臺(tái)服務(wù)的實(shí)現(xiàn)
這篇文章主要介紹了Android通知欄前臺(tái)服務(wù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
android輸入框內(nèi)容改變的監(jiān)聽事件實(shí)例
下面小編就為大家分享一篇android輸入框內(nèi)容改變的監(jiān)聽事件實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-02-02

