2016-11-19 56 views
-4

我想顯示數據庫值到列表視圖,但是,我手動設置元素的位置(例如,如果(位置== 0){})做下一個活動的意圖。但我想根據它們的ID,名稱和移動設備顯示這些元素(即對於第一個元素活動可以將這些參數解析爲下一個活動,因爲第二個參數可以保存它們的適當值......等等)。 那麼我該如何執行此操作!如何根據位置在ListView中獲取值?

List.java

protected void showList(){ 
      try { 
       JSONObject jsonObj = new JSONObject(myJSON); 
       peoples = jsonObj.getJSONArray(TAG_RESULTS); 

       for(int i=0;i<peoples.length();i++){ 
        JSONObject c = peoples.getJSONObject(i); 
        String id = c.getString(TAG_ID); 
        String name = c.getString(TAG_NAME); 
        String mobile = c.getString(TAG_MOB); 

        HashMap<String,String> persons = new HashMap<String,String>(); 

        persons.put(TAG_ID,id); 
        persons.put(TAG_NAME,name); 
        persons.put(TAG_MOB,mobile); 

        personList.add(persons); 
       } 

       ListAdapter adapter = new SimpleAdapter(
         User_List.this, personList, R.layout.list_item, 
         new String[]{TAG_ID,TAG_NAME,TAG_MOB}, 
         new int[]{R.id.id, R.id.name, R.id.mobile} 
       ); 

       list.setAdapter(adapter); 
       list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
        @Override 
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
          if(position==0) { 

           Intent intent = new Intent(User_List.this, MapsActivity.class); 
           startActivity(intent); 
          } 
        } 
       }); 

      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
+0

在列表視圖的每一個元素是下一個活動的一樣嗎? –

+0

@Satish Silveri ..是! –

回答

0

所有你需要做的是在personList陣列位置這樣發送HashMap對象:

list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
        @Override 
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

           Intent intent = new Intent(User_List.this, MapsActivity.class); 
           intent.putExtra("object",(Serializable)personList.get(position)); 
           startActivity(intent); 
          } 

       }); 

而在另一個活動:

HashMap<String,String> object=(HashMap<String, String>)getIntent().getSerializableExtra("object"); 

然後只需設置文本視圖:

textview.setText(object.TAG_ID); 
textview1.setText(object.TAG_NAME); 
textview2.setText(object.TAG_MOB); 

檢查它是否正常工作!!!!!

如果u已經不再懷疑有關如何actvities之間傳遞的HashMap查看以下鏈接:

Android - How to pass HashMap<String,String> between activities?

+0

它顯示'無法解析'在TAG_ID?... –

+0

嘗試object.get(TAG_ID) –

+0

是的!...它的工作!...非常感謝! –