2016-01-22 36 views
-1
private static final String TAG_CONTACTS = "contacts"; 
private static final String TAG_ID = "id"; 
private static final String TAG_NAME = "name"; 
private static final String TAG_EMAIL = "email"; 
private static final String TAG_ADDRESS = "address"; 
private static final String TAG_GENDER = "gender"; 
private static final String TAG_PHONE = "phone"; 
private static final String TAG_PHONE_MOBILE = "mobile"; 
private static final String TAG_PHONE_HOME = "home"; 
private static final String TAG_PHONE_OFFICE = "office"; 

// contacts JSONArray 
JSONArray contacts = null; 

// Hashmap for ListView 
ArrayList<HashMap<String, String>> contactList; 

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

    contactList = new ArrayList<HashMap<String, String>>(); 

    ListView lv = getListView(); 

    // Listview on item click listener 
    lv.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> parent, View view, 
           int position, long id) { 
      // getting values from selected ListItem 
      int itemPosition  = position; 

      String name = ((TextView) view.findViewById(R.id.name)) 
        .getText().toString(); 
      String cost = ((TextView) view.findViewById(R.id.email)) 
        .getText().toString(); 
      // String add = ((TextView) view.findViewById(R.id.address)) 
      //  .getText().toString(); 
      // String description = ((TextView) view.findViewById(R.id.mobile)) 
        //.getText().toString(); 

      //String sweet = ((TextView) view.findViewById(R.id.home)) 
       //  .getText().toString(); 


      // Starting single contact activity 
      Intent in = new Intent(SearchActivity.this, 
        SingleContactActivity.class); 
      in.putExtra(TAG_NAME, name); 
      in.putExtra(TAG_EMAIL, cost); 
      //in.putExtra(TAG_ADDRESS,add); 
      //in.putExtra(TAG_PHONE_MOBILE, description); 
      // in.putExtra(TAG_PHONE_HOME,sweet); 
      startActivity(in); 

     } 
    }); 

    // Calling async task to get json 
    new GetContacts().execute(); 
} 

/** 
* Async task class to get json by making HTTP call 
* */ 
private class GetContacts extends AsyncTask<Void, Void, Void> { 

    @Override 
    protected void onPreExecute() { 
     super.onPreExecute(); 
     // Showing progress dialog 
     pDialog = new ProgressDialog(SearchActivity.this); 
     pDialog.setMessage("Please wait..."); 
     pDialog.setCancelable(false); 
     pDialog.show(); 

    } 

    @Override 
    protected Void doInBackground(Void... arg0) { 
     // Creating service handler class instance 
     ServiceHandler sh = new ServiceHandler(); 

     // Making a request to url and getting response 
     String jsonStr = sh.makeServiceCall(url, ServiceHandler.GET); 

     Log.d("Response: ", "> " + jsonStr); 

     if (jsonStr != null) { 
      try { 
       JSONObject jsonObj = new JSONObject(jsonStr); 

       // Getting JSON Array node 
       contacts = jsonObj.getJSONArray(TAG_CONTACTS); 

       // looping through All Contacts 
       for (int i = 0; i < contacts.length(); i++) { 
        JSONObject c = contacts.getJSONObject(i); 

        String id = c.getString(TAG_ID); 
        String name = c.getString(TAG_NAME); 
        String email = c.getString(TAG_EMAIL); 

       // String add = c.getString(TAG_ADDRESS); 
        String gender = c.getString(TAG_GENDER); 

        // Phone node is JSON Object 
        JSONObject phone = c.getJSONObject(TAG_PHONE); 
        String mobile = phone.getString(TAG_PHONE_MOBILE); 
        String home = phone.getString(TAG_PHONE_HOME); 
        String office = phone.getString(TAG_PHONE_OFFICE); 

        // tmp hashmap for single contact 
        HashMap<String, String> contact = new HashMap<String, String>(); 

        // adding each child node to HashMap key => value 
        contact.put(TAG_ID, id); 
        contact.put(TAG_NAME, name); 
        contact.put(TAG_EMAIL, email); 
        // contact.put(TAG_ADDRESS,add); 
        contact.put(TAG_PHONE_MOBILE, mobile); 
        contact.put(TAG_PHONE_HOME,home); 

        // adding contact to contact list 
        contactList.add(contact); 
       } 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
     } else { 
      Log.e("ServiceHandler", "Couldn't get any data from the url"); 
     } 

     return null; 
    } 

    @Override 
    protected void onPostExecute(Void result) { 
     super.onPostExecute(result); 
     // Dismiss the progress dialog 
     if (pDialog.isShowing()) 
      pDialog.dismiss(); 
     /** 
     * Updating parsed JSON data into ListView 
     * */ 
     ListAdapter adapter = new SimpleAdapter(
       SearchActivity.this, contactList, 
       R.layout.list_item, new String[] { TAG_NAME, TAG_EMAIL, 
       TAG_PHONE_MOBILE ,TAG_PHONE_HOME }, new int[] { R.id.name, 
       R.id.email, R.id.mobile,R.id.home }); 

     setListAdapter(adapter); 
    } 

} 

}列表視圖上選擇的項目在列表中顯示一個詳細的活動

我在列表中的一個列表的活動在列表上選擇一個項目顯示的姓名,電子郵件,電話號碼,打開一個新的活動並顯示相同的名稱,電子郵件,電話號碼,但我需要在nextactivity其他細節,包括addrees,性別,家庭,辦公室

在nextactivity我顯示該項目

private static final String TAG_NAME = "name"; 
private static final String TAG_EMAIL = "email"; 
private static final String TAG_PHONE_MOBILE = "mobile"; 

private static final String TAG_PHONE_HOME = "home"; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_single_contact); 

    // getting intent data 
    Intent in = getIntent(); 

    // Get JSON values from previous intent 
    String name = in.getStringExtra(TAG_NAME); 
    String email = in.getStringExtra(TAG_EMAIL); 
    String mobile = in.getStringExtra(TAG_PHONE_MOBILE); 
    String home = in.getStringExtra(TAG_PHONE_HOME); 


    // Displaying all values on the screen 
    TextView lblName = (TextView) findViewById(R.id.name_label); 
    TextView lblEmail = (TextView) findViewById(R.id.email_label); 
    TextView lblMobile = (TextView) findViewById(R.id.mobile_label); 
    TextView lblMobiles = (TextView) findViewById(R.id.mobile_labels); 

    lblName.setText(name); 
    lblEmail.setText(email); 
    lblMobile.setText(mobile); 
    lblMobiles.setText(home); 
} 

}

Inclusignthsi我想顯示地址,家庭,辦公室。

+0

請重新表述您的問題,目前也很難理解什麼問題。 – Egor

+0

發佈您的其他活動。 –

+0

@subhas我加我的其他看到 – user000

回答

0
private static final String TAG_NAME = "name"; 
private static final String TAG_EMAIL = "email"; 
private static final String TAG_PHONE_MOBILE = "mobile"; 

    private static final String TAG_PHONE_HOME = "home"; 
     @Override 
    public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_single_contact); 

// getting intent data 
Intent in = getIntent(); 

// Get JSON values from previous intent 
String name = in.getStringExtra(TAG_NAME); 
String email = in.getStringExtra(TAG_EMAIL); 
String mobile = in.getStringExtra(TAG_PHONE_MOBILE); 
String home = in.getStringExtra(TAG_PHONE_HOME); 


// Displaying all values on the screen 
TextView lblName = (TextView) findViewById(R.id.name_label); 
TextView lblEmail = (TextView) findViewById(R.id.email_label); 
TextView lblMobile = (TextView) findViewById(R.id.mobile_label); 
TextView lblMobiles = (TextView) findViewById(R.id.mobile_labels); 

lblName.setText(name); 
lblEmail.setText(email); 
lblMobile.setText(mobile); 
lblMobiles.setText(home); 
} 

@subhas我有個其他活動代碼更新

+0

可以任何一個給這個代碼 – user000

相關問題