2015-05-04 60 views
-2

有人可以解釋爲什麼這會崩潰嗎?我以兩種完全相同的方式進行。我的logcat說它的int FN行,所以如果我註釋掉int FN行,它會繼續。但我需要獲得兩個標籤,而不僅僅是一個。android getTag錯誤

我把我的ID在我的資源

<resources> 
<item type="id" name="fromNumberTag" /> 
<item type="id" name="contactImageTag"/> 

</resources> 

設置我的標籤我的適配器。

// SET OUR DATA FROM OUR CURSOR 
    String phone_number = list.getString(list.getColumnIndex("phoneNumber")); 
    from.setTag(R.id.fromNumberTag,list.getString(list.getColumnIndex("contactId"))); 
    contactimage.setTag(R.id.contactImageTag, phone_number); 

然後我嘗試獲取標籤。 (這是它崩潰AT)

 int cid = Integer.parseInt(listText.getTag(R.id.fromNumberTag).toString()); 
    int fn = Integer.parseInt(listText.getTag(R.id.contactImageTag).toString()); // LOGCAT SAYS THIS LINE IS WHERE ERROR OCCURS 

我logcat的

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference 
     at myapp.myapp.MainActivity$2.onItemClick(MainActivity.java:272) 

回答

1

您可以設定兩個不同的對象(fromcontactimage)的標籤,但試圖從只有一個對象標籤( listText)。也許你在錯誤的對象上設置了一個標籤,或者從錯誤的對象中讀取了一個標籤?

+0

謝謝你,你的評論讓我回頭看看我在做什麼。我仍然是新的,所以不明白我必須將它們分配給同一個對象,並使用ID來分隔它們。將它們更改爲'//設置標記 from.setTag(R.id.fromNumberTag,list.getString(list.getColumnIndex(「contactId」)));來自.setTag(R.id.contactImageTag,phone_number)的 ; '而且工作很好。 – Jayce