2016-02-22 3 views
-2

Здравствуйте, я пытаюсь передать JSON данных из адаптера в другой деятельностикак передать данные JSON в адаптер Android

playb = (ImageButton) row.findViewById(R.id.playbtn); 
    playb.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      // Song newitem = getItem(position); 
      //long itemId = getItemId(position); 
      app = (myapplication) getContext().getApplicationContext(); 
      app.setSong(item); 
      Intent intent1 = new Intent(getContext(), SongDetailedActivity.class); 

      intent1.putExtra("SongID", item.toString()); 
      getContext().startActivity(intent1); 
     } 
    }); 

и моей деятельности

Intent i = getActivity().getIntent(); 
     hello = i.getIntExtra("SongID", 5); 
     Song event = app.getSongID(hello); 
     event.setSongID(hello); 
+2

Вы передаете строку в "SongId" и получить обратно его в Int. вам может понадобиться исправить эту вещь, прежде чем я отправлюсь на вопрос –

+0

Очень хорошо, что вы проходите ее (хотя выборка не правильная, но в любом случае). – Rohit5k2

ответ

1

В вашей деятельности,

Bundle bundle = getIntent().getExtras(); 
if(bundle != null && bundle.containsKey("SongID")){ 
    String json = bundle.getString("SongID"); 
    JSONObject jsonObject = new JSONObject(json); 
    //parse json from here...don't forget to handle JSONException 
} 
0

Вы можете передать ли целое значение и улов он использует i.getIntExtra() или передать строку и уловить с помощью i.getStringExtra() Вы не можете поместить строку в намерение и получить ее как целое, она должна иметь тот же тип.

+0

Большое спасибо, что просто сделали это –