美好的一天,我在下面的代碼中遇到了一些麻煩,我從這個鏈接中打勾的答案得到了一個解決方案。我想知道爲什麼。ClassCastException解釋
注:我有一個類似的問題佈局,但只有一個TextView。
我下面的代碼:
public void onItemClick(AdapterView<?> av, View v, int position, long id) {
blueadapter.cancelDiscovery();
String info = ((TextView) v).getText().toString(); //classcastException here
String Bluetooth_address = info.substring(info.length()-17);
}
所以從他的解決辦法,如果我改變了這個
String info = ((TextView) v.findViewById(R.id.search_device_id)).getText().toString();
它解決了我的問題ClassCastException異常。
現在請有人向我解釋或指給我正確的方向,他在答案中的含義「您收到整個LinearLayout作爲參數v。您應該嘗試v.findViewById()然後使用這個textview「。它很好,它解決了我的問題,但我想明白爲什麼我必須這樣做?..我已經處理過ListViews,但我沒有遇到過這個,所以它對我來說很奇怪。謝謝。
您的列表項目是否有類似的佈局? – Ronnie