Android ListView里控件添加監(jiān)聽方法的實(shí)例詳解
Android ListView里控件添加監(jiān)聽方法的實(shí)例詳解
關(guān)于ListView,算是android中比較常見的控件,在ListView我們通常需要一個(gè)模板,這個(gè)模板指的不是住模塊,而是配置顯示在ListView里面的東西,今天做項(xiàng)目的時(shí)候發(fā)現(xiàn)想要添加一個(gè)ImageView監(jiān)聽方法,發(fā)現(xiàn)崩了,也許是好久沒有動(dòng)ListView竟然忘了不能直接在主UI的xml文件里面調(diào)用其他xml文件的控件,哪怕ListView用的是這個(gè)xml文件。
【錯(cuò)誤示范】:
直接調(diào)用ImageView這個(gè)控件是ListView的控件,直接在非主控View java類文件調(diào)用,直接崩,之前還不知道這個(gè)問題。
msg=(ImageView).findViewById(R.id.msg); msg.setOnClickListener(new OnClickListener() { } });
【如何獲取】:
public class CallListen implements OnItemClickListener{ @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { msg=(ImageView)view.findViewById(R.id.msg); msg.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { } } } }
在ListView監(jiān)聽方法里面使用控件的監(jiān)聽方法,其中最重要的是點(diǎn)擊ListView獲取到了里面所有控件的父類View
這樣的話就可以通過 msg=(ImageView)view.findViewById(R.id.msg);獲取到我們的控件了,這里面的view至關(guān)重要,這里面就涉及到一個(gè)知識(shí),假如我這個(gè)activity setcontentview不是當(dāng)前我想要使用控件的View怎么辦?
LayoutInflater作用是將layout的xml布局文件實(shí)例化為View類對(duì)象。
獲取LayoutInflater的方法有如下三種:
LayoutInflater inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View layout = inflater.inflate(R.layout.main, null); LayoutInflater inflater = LayoutInflater.from(context); (該方法實(shí)質(zhì)就是第一種方法,可參考源代碼) View layout = inflater.inflate(R.layout.main, null); LayoutInflater inflater = getLayoutInflater();(在Activity中可以使用,實(shí)際上是View子類下window的一個(gè)函數(shù)) View layout = inflater.inflate(R.layout.main, null);
這時(shí)候可能會(huì)疑惑:
setContentView 和Inflate
區(qū)別:
setContentView()一旦調(diào)用, layout就會(huì)立刻顯示UI;而inflate只會(huì)把Layout形成一個(gè)以view類實(shí)現(xiàn)成的對(duì)象,有需要時(shí)再用setContentView(view)顯示出來(lái)。一般在activity中通過setContentView()將界面顯示出來(lái),但是如果在非activity中如何對(duì)控件布局設(shè)置操作了,這就需要LayoutInflater動(dòng)態(tài)加載。
以上就是對(duì)Android ListView 添加事件的實(shí)例,如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- Android ListView監(jiān)聽滑動(dòng)事件的方法(詳解)
- android動(dòng)態(tài)布局之動(dòng)態(tài)加入TextView和ListView的方法
- Android ListView添加頭布局和腳布局實(shí)例詳解
- Android中ListView Item布局優(yōu)化技巧
- Android實(shí)現(xiàn)的ListView分組布局改進(jìn)示例
- Android ListView自動(dòng)顯示隱藏布局的實(shí)現(xiàn)方法
- Android自定義listview布局實(shí)現(xiàn)上拉加載下拉刷新功能
- Android App界面的ListView布局實(shí)戰(zhàn)演練
- Android Listview中顯示不同的視圖布局詳解及實(shí)例代碼
- Android開發(fā)實(shí)現(xiàn)ListView部分布局監(jiān)聽的方法
相關(guān)文章
Android 出現(xiàn)“Can''t bind to local 8602 for debugger”錯(cuò)誤的解決方法
這篇文章主要介紹了Android 出現(xiàn)“Can't bind to local 8602 for debugger”錯(cuò)誤的解決方法的相關(guān)資料,需要的朋友可以參考下2017-03-03Android開發(fā)優(yōu)化之Apk瘦身優(yōu)化指南
隨著業(yè)務(wù)快速發(fā)展,各種業(yè)務(wù)功能上線,版本不斷迭代,apk體積也越來(lái)越大,下面這篇文章主要給大家介紹了關(guān)于Android開發(fā)優(yōu)化之Apk瘦身優(yōu)化的相關(guān)資料,需要的朋友可以參考下2022-05-05Android編程實(shí)現(xiàn)仿心跳動(dòng)畫效果的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)仿心跳動(dòng)畫效果的方法,實(shí)例分析了Android基于線程實(shí)現(xiàn)動(dòng)畫過度效果的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11BroadcastReceiver動(dòng)態(tài)注冊(cè)案例詳解
這篇文章主要為大家詳細(xì)介紹了BroadcastReceiver動(dòng)態(tài)注冊(cè)案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08Android查看電池電量的方法(基于BroadcastReceiver)
這篇文章主要介紹了Android查看電池電量的方法,結(jié)合實(shí)例分析了Android使用BroadcastReceiver實(shí)現(xiàn)針對(duì)電池電量的查詢技巧,需要的朋友可以參考下2016-01-01Android 自定義按鈕點(diǎn)擊事件和長(zhǎng)按事件對(duì)比
這篇文章主要介紹了 Android 自定義按鈕點(diǎn)擊事件和長(zhǎng)按事件對(duì)比的相關(guān)資料,需要的朋友可以參考下2017-04-04