課程
/移動開發(fā)
/Android
/懶人必備之Android效率開發(fā)框架
關(guān)于onItemClick怎么得到listview的posion
2019-01-21
源自:懶人必備之Android效率開發(fā)框架 3-5
正在回答
@ItemClick void?listItemClicked(int?position)?{ ????Toast.makeText(this,?"click:?"?+?position,?Toast.LENGTH_SHORT).show(); }
這里直接把參數(shù)改了就可以了? 好像源碼說這里可以支持三種寫法
/** ?*?<p> ?*?This?annotation?is?intended?to?be?used?on?methods?to?receive?events?defined ?*?by ?*?{@link?android.widget.AdapterView.OnItemClickListener#onItemClick(android.widget.AdapterView,?android.view.View,?int,?long)} ?*?when?a?list?item?has?been?clicked?by?the?user. ?*?</p> ?*?<p> ?*?The?annotation?value?should?be?one?or?several?of?R.id.*?fields.?If?not?set, ?*?the?method?name?will?be?used?as?the?R.id.*?field?name. ?*?</p> ?*?<p> ?*?The?method?MAY?have?one?parameter?: ?*?</p> ?*?<ul> ?*?<li>An?<code>int</code>?parameter?to?know?the?position?of?the?clicked?item. ?*?Or,?a?parameter?of?the?type?of?the?Adapter?linked?to?the?listview.</li> ?*?</ul> ?* ?*?<blockquote> ?*? ?*?Example?: ?*? ?*?<pre> ?*?@ItemClick(R.id.myList) ?*?public?void?itemClickedOnMyList()?{ ?*?????//?... ?*?} ?*? ?*?@ItemClick(R.id.myList) ?*?public?void?myListItemPositionClicked(int?position)?{ ?*?????//?... ?*?} ?*? ?*?@ItemClick ?*?public?void?myListItemClicked(MyItem?clickedItem)?{ ?*?????//?... ?*?} ?*?</pre> ?*? ?*?</blockquote> ?*? ?*?@see?ItemLongClick ?*?@see?ItemSelect ?*/
package?org.androidannotations.sample; import?org.androidannotations.annotations.EActivity; import?org.androidannotations.annotations.ItemClick; import?org.androidannotations.annotations.ItemLongClick; import?org.androidannotations.annotations.ItemSelect; import?org.androidannotations.annotations.res.StringArrayRes; import?android.app.ListActivity; import?android.os.Bundle; import?android.widget.ArrayAdapter; import?android.widget.ListAdapter; import?android.widget.Toast; //?The?layout?is?not?set?:?we?use?the?default?layout?set?in?ListActivity @EActivity public?class?MyListActivity?extends?ListActivity?{ ???@StringArrayRes ???String[]?bestFoods; ???private?ListAdapter?adapter; ???@Override ???protected?void?onCreate(Bundle?savedInstanceState)?{ ??????super.onCreate(savedInstanceState); ??????adapter?=?new?ArrayAdapter<String>(this,?android.R.layout.simple_list_item_1,?bestFoods); ??????setListAdapter(adapter); ???} ???@ItemClick ???void?listItemClicked(String?food)?{ ??????Toast.makeText(this,?"click:?"?+?food,?Toast.LENGTH_SHORT).show(); ???} ???@ItemLongClick ???void?listItemLongClicked(String?food)?{ ??????Toast.makeText(this,?"long?click:?"?+?food,?Toast.LENGTH_SHORT).show(); ???} ???@ItemSelect ???void?listItemSelected(boolean?somethingSelected,?String?food)?{ ??????if?(somethingSelected)?{ ?????????Toast.makeText(this,?"selected:?"?+?food,?Toast.LENGTH_SHORT).show(); ??????}?else?{ ?????????Toast.makeText(this,?"nothing?selected",?Toast.LENGTH_SHORT).show(); ??????} ???} }
舉報
本教程帶你學(xué)一個快捷方便的Android開發(fā)框架,敏捷開發(fā)必備
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2022-03-29
2019-02-14
@ItemClick void?listItemClicked(int?position)?{ ????Toast.makeText(this,?"click:?"?+?position,?Toast.LENGTH_SHORT).show(); }這里直接把參數(shù)改了就可以了? 好像源碼說這里可以支持三種寫法
/** ?*?<p> ?*?This?annotation?is?intended?to?be?used?on?methods?to?receive?events?defined ?*?by ?*?{@link?android.widget.AdapterView.OnItemClickListener#onItemClick(android.widget.AdapterView,?android.view.View,?int,?long)} ?*?when?a?list?item?has?been?clicked?by?the?user. ?*?</p> ?*?<p> ?*?The?annotation?value?should?be?one?or?several?of?R.id.*?fields.?If?not?set, ?*?the?method?name?will?be?used?as?the?R.id.*?field?name. ?*?</p> ?*?<p> ?*?The?method?MAY?have?one?parameter?: ?*?</p> ?*?<ul> ?*?<li>An?<code>int</code>?parameter?to?know?the?position?of?the?clicked?item. ?*?Or,?a?parameter?of?the?type?of?the?Adapter?linked?to?the?listview.</li> ?*?</ul> ?* ?*?<blockquote> ?*? ?*?Example?: ?*? ?*?<pre> ?*?@ItemClick(R.id.myList) ?*?public?void?itemClickedOnMyList()?{ ?*?????//?... ?*?} ?*? ?*?@ItemClick(R.id.myList) ?*?public?void?myListItemPositionClicked(int?position)?{ ?*?????//?... ?*?} ?*? ?*?@ItemClick ?*?public?void?myListItemClicked(MyItem?clickedItem)?{ ?*?????//?... ?*?} ?*?</pre> ?*? ?*?</blockquote> ?*? ?*?@see?ItemLongClick ?*?@see?ItemSelect ?*/2019-02-14
package?org.androidannotations.sample; import?org.androidannotations.annotations.EActivity; import?org.androidannotations.annotations.ItemClick; import?org.androidannotations.annotations.ItemLongClick; import?org.androidannotations.annotations.ItemSelect; import?org.androidannotations.annotations.res.StringArrayRes; import?android.app.ListActivity; import?android.os.Bundle; import?android.widget.ArrayAdapter; import?android.widget.ListAdapter; import?android.widget.Toast; //?The?layout?is?not?set?:?we?use?the?default?layout?set?in?ListActivity @EActivity public?class?MyListActivity?extends?ListActivity?{ ???@StringArrayRes ???String[]?bestFoods; ???private?ListAdapter?adapter; ???@Override ???protected?void?onCreate(Bundle?savedInstanceState)?{ ??????super.onCreate(savedInstanceState); ??????adapter?=?new?ArrayAdapter<String>(this,?android.R.layout.simple_list_item_1,?bestFoods); ??????setListAdapter(adapter); ???} ???@ItemClick ???void?listItemClicked(String?food)?{ ??????Toast.makeText(this,?"click:?"?+?food,?Toast.LENGTH_SHORT).show(); ???} ???@ItemLongClick ???void?listItemLongClicked(String?food)?{ ??????Toast.makeText(this,?"long?click:?"?+?food,?Toast.LENGTH_SHORT).show(); ???} ???@ItemSelect ???void?listItemSelected(boolean?somethingSelected,?String?food)?{ ??????if?(somethingSelected)?{ ?????????Toast.makeText(this,?"selected:?"?+?food,?Toast.LENGTH_SHORT).show(); ??????}?else?{ ?????????Toast.makeText(this,?"nothing?selected",?Toast.LENGTH_SHORT).show(); ??????} ???} }