我有一種情況在這裏,我想通過在列表項單擊所需的JSON對象在我下面的活動傳遞JSON對象列表項其他活動點擊
假設當我點擊deal 2
應該將jArray的第2個json對象傳遞給intent,並且我的下一個活動必須獲取它。
但這裏的問題是,當我點擊任何列表項時,下一個活動收到最後索引的json對象。
這裏是alldeals.java
try{
jArray = new JSONArray(result);
for(int i=0;i<jArray.length();i++){
json_data = jArray.getJSONObject(i);
Log.i("log_tag","dealid: "+json_data.getString("deal_id")+
", hotel name: "+json_data.getString("hotel_name")+
", location: "+json_data.getString("location")+
", website: "+json_data.getString("website")
);
}
json_data=new JSONObject();
String[] data=new String[jArray.length()];
planetList = new ArrayList<String>();
for(int i=0;i<jArray.length();i++)
{
json_data= jArray.getJSONObject(i);
data[i]=json_data.getString("deal_id");
Log.i("log_tag", "string "+data[i]);
planetList.addAll(Arrays.asList("Deal "+ (i+1)));
listAdapter = new ArrayAdapter<String>(this, R.layout.listrow, planetList);
runOnUiThread(new Runnable() {
public void run() {
list.setAdapter(listAdapter);
}
});
}
list.setOnItemClickListener(new OnItemClickListener() { //where to put this piece of code???
public void onItemClick(AdapterView<?> arg0, View arg1,
final int arg2, long arg3) {
Intent intent = new Intent(context,Finaldeal.class);
intent.putExtra("deal", json_data.toString());
startActivity(intent);
}
});
}
catch(JSONException e){
Log.e("log_tag", "Error parsing data "+e.toString());
}
我知道爲了解決這個問題,我必須把我的list.setOnItemClickListener()
在適當的地方我的代碼,但我很困惑,把它放在哪裏,所以,當我點擊deal1
第一JSON對象將被傳遞到意圖
GR8感謝名單...它的工作 –