2013-08-26 2 views
0

Я пытаюсь отправить данные объекта json из одной активности в другую деятельность. У меня есть список, который успешно заполняется из массива json, но, когда я нажимаю на элемент списка, он не отвечает. Никакие действия не выполняются при нажатии на элемент. Я видел несколько уроков, но это не помогло. Мне нужно отправить данные json элемента списка в другое действие. Любая помощь будет оценена по достоинству.Отправлять данные Json из списка в один вид активности в другую деятельность

Активность списка, заполненного Json.

 try{ 

     jArray = new JSONArray(result); 
     ListView listView=(ListView)findViewById(R.id.listtour_cat); 
     listView.setAdapter(new ListViewAdapter(JSONUseActivity.this,jArray)); 
     listView.setOnItemClickListener(new OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
        long arg3) { 
       // TODO Auto-generated method stub 
       try{ 
        if(!jArray.isNull(arg2)){ 
          Intent intent = new Intent(getApplicationContext(),TourDetailActivity.class); 
          intent.putExtra("id", jArray.optJSONObject(arg2).getString("tour_id")); 
          startActivity(intent);  
        } 

       } 
       catch(JSONException e){ 
         Log.e("log_tag", "Error parsing data "+e.toString()); 
       } 

      } 
     }); 
     } 
     catch(JSONException e){ 
       Log.e("log_tag", "Error parsing data "+e.toString()); 
     } 

    } 
     catch (Exception e) { 
      Log.e("log_tag","Error in http connection!!" + e.toString());  
    } 

Целевая активность:

Intent intent = getIntent(); 
String rcvid = intent.getStringExtra("id"); 
Toast.makeText(getApplicationContext(), rcvid, Toast.LENGTH_LONG).show(); 
+0

@ Divyang-pls показать вашу ошибку logcat, чтобы понять проблему. – FarhaSameer786

+0

уверены, что onItemClick не вызывается? Или вы можете проверить, получаете ли вы какие-либо исключения внутри блока onItemClick? –

+0

@ FarhaSameer786 - это не ошибка, просто ничего не делая при нажатии на элементы списка. – Divyang

ответ

1

Преобразование JsonArray в строку затем прикрепить его к Intent анс отправить его.

JSONObject jObject = new JSONObject("Your Json Response"); 

    Intent obj_intent = new Intent(Main.this, Main1.class); 
    Bundle b = new Bundle();     
    b.putString("Array",jObject4.toString()); 
    obj_intent.putExtras(b); 

Где jObject4 - объект JSON.

Получить в следующей странице:

 Intent b = getIntent().getExtras(); 
     String Array=b.getString("Array"); 
+0

Как получить элементы из массива String в следующем действии. – Divyang

0

Попробуйте эту строку ..

Intent intent = new Intent(getApplicationContext(),TourDetailActivity.class); 
intent.putExtra("id", jArray.getJSONObject(arg2).getString("tour_id")); 
startActivity(intent);  
0

поместить этот код для получения значения во втором классе ..

String rcvid = getIntent().getExtras().getString("id").toString(); 

И передать значение из Первый класс с намерением:

intent.putExtra("id", jArray.optJSONObject(arg2)); 
Смежные вопросы