2012-09-18 114 views
0

我有一個使用JSONArray填充的列表視圖。然後我將上下文菜單添加到我的列表中。如何將對象轉換爲JSONObject

現在我想要檢索哪個用戶選擇的listItems中的價值,所以我用

AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();  
Object object= list.getItemAtPosition(info.position); 

現在的問題是,getItemAtPosition()返回一個對象。我如何將它轉換爲相對的JSONOBject

+0

您將不得不使用gson庫從java中獲取JSONObject。 –

+0

如果您使用JSonArray填充適配器,爲什麼要嘗試將其轉換爲JSONObject? – Blackbelt

+0

我填充我的適配器以使用JSONArray填充ListView,但ListView的每一行都是JSONObject。我想從列表中獲得一行。所以JSONObject – Ashwani

回答

0
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();  
JSONObject object = (JSONObject) list.getItemAtPosition(info.position); 

,也不需要在這裏GSON庫,因爲JSON是部分來自Android的庫org.json.JSONObject,因爲阿比1.

+0

ClassCastException! – Ashwani

0

您需要將您的返回值轉換爲JSONObject。

+0

它給出了類別轉換異常。 – Ashwani

0

因爲我以前JSONArray,然後我被解析成對應的HashMap中,在我的適配器中使用它。所以函數getItemAtPosition返回一個HashMap的對象形式爲 問題,我的代碼是我將一個HashMap值轉換爲JSONObject,而不是將其轉換爲JSONObject我使用Hashmaps。 HashMap object= (HashMap) list.getItemAtPosition(info.position);