2016-04-18 14 views
0

listviewのjsonデータをクリックして次の行項目に渡す必要があります。ここリストビューのjsonデータを行項目のクリック時に次のアクティビティに渡す

が私の最初の活動は

public class DrSearch extends Activity implements OnClickListener, 
    OnItemClickListener { 
    ListView listView; 

    ArrayList<RowItem> rowDoctors; 

    DrSearchListViewAdapter adapter; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_dr_search); 

     iv.setOnClickListener(this); 
     rowDoctors = new ArrayList<RowItem>(); 
     new DoctorList().execute(); 

     listView = (ListView) findViewById(R.id.list1); 
     adapter = new DrSearchListViewAdapter(getApplicationContext(), R.layout.single_list_dr_search, rowDoctors); 
     listView.setAdapter(adapter); 
     listView.setOnItemClickListener(this); 

    } 

    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
     int actualDataPosition=adapter.getActualPosition(position, rowDoctors); 


     if(actualDataPosition>=0) 
     { 
      String data=rowDoctors.get(actualDataPosition).getId()+","+rowDoctors.get(actualDataPosition).getImageId()+","+rowDoctors.get(actualDataPosition).getTitle(); 

      Intent newActivity = new Intent(DrSearch.this, DocProfileForUser.class); 

      newActivity.putExtra("Position", actualDataPosition); 
      newActivity.putExtra("data", data); 
      startActivity(newActivity); 
     } 

    } 

    } 
    class DoctorList extends AsyncTask<String, Void, Void> { 

     private final HttpClient Client = new DefaultHttpClient(); 
     private String Content; 
     private String Error = null; 
     private ProgressDialog Dialog = new ProgressDialog(DrSearch.this); 
     String data = ""; 

     protected void onPreExecute() { 
      // TODO Auto-generated method stub 
      Dialog.setMessage("Please wait.."); 
      Dialog.show(); 
     } 

     protected Void doInBackground(String... urls) { 




      // To retrieve value from shared preference in another activity 
      SharedPreferences sp = getApplicationContext() 

        .getSharedPreferences("sharedPrefName", 0); 

      String user_id = sp.getString("key_name", "defaultvalue"); 

      List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
      nameValuePairs.add(new BasicNameValuePair("access_token", 
        "testermanishrahul234142test")); 
      nameValuePairs.add(new BasicNameValuePair("user_id", user_id)); 

      Content = new ServiceHandler().makeServiceCall(
        AppConstant.GET_DOCTOR_LIST, 2, nameValuePairs); 
      return null; 

     } 

     protected void onPostExecute(Void result) { 
      // TODO Auto-generated method stub 
      Dialog.dismiss(); 



      String OutputData = ""; 
      JSONObject jsonResponse; 

      try { 


       jsonResponse = new JSONObject(Content); 


       JSONObject jsonMainNode = jsonResponse 
         .getJSONObject("document"); 

       JSONObject response = jsonMainNode.getJSONObject("response"); 

       JSONArray jarray = response.getJSONArray("data"); 

       for (int i = 0; i < jarray.length(); i++) { 
        JSONObject object = jarray.getJSONObject(i); 

        RowItem list = new RowItem(); 

        list.setAvailability(object.getString("morning_appointment_start")); 
        list.setAvailability1(object.getString("morning_appointment_end")); 
        list.setAvailability2(object.getString("eve_appointment_start")); 
        list.setAvailability3(object.getString("eve_appointment_end")); 
        list.setTitle(object.getString("firstName")); 
        list.setSpeciality(object.getString("speciality")); 
        list.setImageId(object.getString("image")); 
        list.setId(object.getString("id")); 

        rowDoctors.add(list); 


       } 


       String status = response.getString("status"); 
       if (status != null && status.equalsIgnoreCase("1")) { 
       } 
       String message = response.getString("message"); 

       Toast.makeText(getApplicationContext(), 
         "" + status + ":" + message, Toast.LENGTH_SHORT).show(); 





      } catch (JSONException e) { 

       e.printStackTrace(); 
      } 




     } 
    } 


} 
+0

をので、問題は何ですか? –

+0

エラーとはなんですか? –

+0

これを第2アクティビティで設定する方法 –

答えて

0

でのデータの受け渡し:

セカンド活動データを受信
Intent newActivity = new Intent(DrSearch.this, DocProfileForUser.class); 
     newActivity.putExtra("data", data); 
     startActivity(newActivity); 

String dataString; 
    Bundle extras = getIntent().getExtras(); 
     if(extras != null) { 
     dataString= extras.getString("data"); 
     } 

TextView tvData = (TextView) findViewById(R.id.tv_data); 
tvData.setText(dataString); 
+0

と2番目のアクティビティでtextviewとimageViewにデータを設定する方法 –

+0

このようにする必要があります。try {position = getIntent()。getIntExtra( "Position"、0);データ= getIntent()。getStringExtra( "data"); if(data.contains( "、")){String actualDataPosition; String [] userData = data.split(rowDoctors.get(actualDataPosition).getTitle() "、"); for(String item:userData){System.out.println( "item =" + item); }}}彼は私のポストで言ったように@AsimKrishnaDas –

+0

@アシムクリシュナダスあなたの答えを使用して、テキストビューにURLを設定しています –

0

はJSON形式にデータを変換し、その後にそれを送りますこのような2番目のアクティビティ:

String data = "{'id : '"+rowDoctors.get(actualDataPosition).getId()+"', 'image_id':'"+rowDoctors.get(actualDataPosition).getImageId()+"', 'title':'"+rowDoctors.get(actualDataPosition).getTitle()+"'}"; 

Intent newActivity = new Intent(DrSearch.this, DocProfileForUser.class); 
newActivity.putExtra("data", data); 
startActivity(newActivity); 

が戻って、このような第二の活動からJsonObjectを取得:

String data; 
Bundle extras = getIntent().getExtras(); 
if(extras != null) { 
data= extras.getString("data"); 
} 

JSONObject jsonObj = new JSONObject(data); 
+0

お返事ありがとうございます。私はしようとしています。 –

+0

これは私のJSON { "文書" である:{ "応答":{ "データ":[ { "ID": "4"、 "firstNameの": "アダム" "画像": " http://69.73.184.155/~isoft/doctorApp/web_serv/uploads/doctor/1456375493img1.jpg」、 "doctor_id": "4" }、{ "ID": "8"、 "firstNameの" : "Dr. Mark" "lastName": "Mark"、 "image": "http://69.73.184.155/~isoft/doctorApp/web_serv/uploads/doctor/145451353012606908_10156490446530338_535014725_n.jpg" "doctor_id": "8" } –

+0

あなたのソリューションはすべてのフィールドをtextviewに設定しています –

関連する問題