2012-09-18 82 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);