日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 芯聞號 > 充電吧
[導讀]ListView 點擊響應代碼(如下),以前都是正確的:private?class?MusicListItemClickListener?implements?OnItemClickListener?

ListView 點擊響應代碼(如下),以前都是正確的:

private?class?MusicListItemClickListener?implements?OnItemClickListener?{


	@Override
	public?void?onItemClick(AdapterView?parent,?View?view,?int?position,long?id)?{
	}
}

可參閱以前的一博文:http://blog.csdn.net/91program/article/details/39232721

在新的工程使用時,先提示 onItemClick 需要刪除 @Override。我直接將 onItemClick 刪除,再自動增加函數時,發(fā)現自動增加的函數變成如下所示的,參數的參數發(fā)生了變化,特別是第一個參數,由 AdapterView 變成 AdapterViewCompat。代碼不再提示錯誤,運行之!

private?class?contactsListItemClickListener?implements?OnItemClickListener?{		//?AdapterViewCompat.OnItemClickListener
	@Override
	public?void?onItemClick(AdapterViewCompat?arg0,?View?arg1,?int?arg2,
			long?arg3)?{
		//?TODO?Auto-generated?method?stub
		int?position?=?arg2;
		int?id?=?(int)?arg3;
		Log.i(phoneBookInfo.TAG,?"position:?"?+?Integer.toString(position)?+?"?id:?"?+?Integer.toString(id));
	}
}


運行時出現錯誤。提示如下:
?

D/AndroidRuntime(19395):?Shutting?down?VM
?W/dalvikvm(19395):?threadid=1:?thread?exiting?with?uncaught?exception?(group=0x4001b6a8)
?E/AndroidRuntime(19395):?FATAL?EXCEPTION:?main
?E/AndroidRuntime(19395):?java.lang.RuntimeException:?Unable?to?start?activity?ComponentInfo{com.hs.leozheng.backuprecords/com.hs.leozheng.backuprecords.MainActivity}:?java.lang.ClassCastException:?com.hs.leozheng.backuprecords.MainActivity$contactsListItemClickListener
?E/AndroidRuntime(19395):?	at?android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1734)
?E/AndroidRuntime(19395):?	at?android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1753)
?E/AndroidRuntime(19395):?	at?android.app.ActivityThread.access$1500(ActivityThread.java:155)
?E/AndroidRuntime(19395):?	at?android.app.ActivityThread$H.handleMessage(ActivityThread.java:999)
?E/AndroidRuntime(19395):?	at?android.os.Handler.dispatchMessage(Handler.java:130)
?E/AndroidRuntime(19395):?	at?android.os.Looper.loop(SourceFile:351)
?E/AndroidRuntime(19395):?	at?android.app.ActivityThread.main(ActivityThread.java:3820)
?E/AndroidRuntime(19395):?	at?java.lang.reflect.Method.invokeNative(Native?Method)
?E/AndroidRuntime(19395):?	at?java.lang.reflect.Method.invoke(Method.java:538)
?E/AndroidRuntime(19395):?	at?com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:969)
?E/AndroidRuntime(19395):?	at?com.android.internal.os.ZygoteInit.main(ZygoteInit.java:727)
?E/AndroidRuntime(19395):?	at?dalvik.system.NativeStart.main(Native?Method)
?E/AndroidRuntime(19395):?Caused?by:?java.lang.ClassCastException:?com.hs.leozheng.backuprecords.MainActivity$contactsListItemClickListener
?E/AndroidRuntime(19395):?	at?com.hs.leozheng.backuprecords.MainActivity.findViews(MainActivity.java:140)
?E/AndroidRuntime(19395):?	at?com.hs.leozheng.backuprecords.MainActivity.onCreate(MainActivity.java:57)
?E/AndroidRuntime(19395):?	at?android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1082)
?E/AndroidRuntime(19395):?	at?android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1698)
?E/AndroidRuntime(19395):?	...?11?more


對比之前的代碼,與現在的代碼,發(fā)現可能是 AdapterViewCompat 引起的。所以強制將 OnItemClickListener 聲明為 AdapterView 的成員,如下:

private?class?contactsListItemClickListener?implements?AdapterView.OnItemClickListener?{
	@Override
	public?void?onItemClick(AdapterView?parent,?View?view,?int?position,
			long?id)?{
		//?TODO?Auto-generated?method?stub
		Log.i(phoneBookInfo.TAG,?"position:?"?+?Integer.toString(position)?+?"?id:?"?+?Long.toString(id));
	}
}


這樣自動增加的 onItemClick 函數終于和以前一樣了。
運行之,正確!

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉