2015-04-06 44 views
0

需要在我的代碼中進行一些更正,我試圖從列表項目傳遞三個字符串到下一個使用意圖的活動。每件事情都可以正常工作,但問題是我無法弄清楚如何獲取列表項目的確切位置,以便我只挑選該列表項目的內容並將它們帶到我的其他活動中。獲取列表視圖項目的確切位置

ActivityOne.java

int ctryId; 
    mCommentList = new ArrayList<HashMap<String, String>>(); 

    try { 

     mComments = json.getJSONArray(TAG_POSTS); 

     for (int i=mComments.length() - 1; i>=0; i--) { 
      JSONObject c = mComments.getJSONObject(i); 

      ctryId = c.getInt(TAG_COUNTRY_ID); 
      if (ctryId == 2){ 

       ListItem item = new ListItem(); 

       item.setRegionId(c.getString(TAG_REGION_ID)); 
       item.setRegionName(c.getString(TAG_REGION_NAME)); 
       item.setCountryId(c.getString(TAG_COUNTRY_ID)); 

       listItems.add(item); 
      } 

      listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
       @Override 
       public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) { 

        Intent intent = new Intent(RegionsOfVisit.this, LocationsActivity.class); 
        intent.putExtra("Regions_of_visit_region_id", item.getRegionId()); 
        intent.putExtra("Regions_of_visit_region_name", item.getRegionName()); 
        intent.putExtra("Regions_of_visit_country_id", item.getCountryId()); 
        startActivity(intent); 

       } 
      }); 

     } 

     // notify data changes to list adapater 
     regionsOfVisitListAdapter.notifyDataSetChanged(); 

任何建議將高度讚賞

+0

item.getRegionId()。你可以在這裏訪問它嗎?你能沒有錯誤地編譯這一行。 – Amsheer 2015-04-06 13:50:48

+0

Amsheer,我可以編譯沒有錯誤 – Richmahnn 2015-04-06 15:40:35

回答

1

我不確定你的編碼結構,但下面的代碼片段可能會幫助你。

假設您的列表視圖由ListItem對象的項組成,並且Adapter接受ListItem對象的列表。

然後你可以onitemclicklistener一樣工作,如下所示:

ArrayList<ListItem> list; 
//fill your list with data 
ListAdapter mAdapter = new ListAdapter(context,list); 
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
       @Override 
       public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) { 

ListItem item = ListItem item = list.get(position); 
        Intent intent = new Intent(RegionsOfVisit.this, LocationsActivity.class); 
        intent.putExtra("Regions_of_visit_region_id", item.getRegionId()); 
        intent.putExtra("Regions_of_visit_region_name", item.getRegionName()); 
        intent.putExtra("Regions_of_visit_country_id", item.getCountryId()); 
        startActivity(intent); 

       } 
      }); 

希望這有助於...

+0

它的工作就像一個魅力,謝謝 – Richmahnn 2015-04-06 15:43:48

2

其中一個變化是在這裏:

Intent intent = new Intent(RegionsOfVisit.this, LocationsActivity.class); 
        intent.putExtra("Regions_of_visit_region_id", item.get(position).getRegionId()); 
        intent.putExtra("Regions_of_visit_region_name", item.get(position).getRegionName()); 
        intent.putExtra("Regions_of_visit_country_id", item.get(position).getCountryId()); 
        startActivity(intent); 

另一個變化是使這個全球

ListItem item = new ListItem(); 
+0

我不能使用get(),因爲它不在我的ListItem類 – Richmahnn 2015-04-06 15:41:59

相關問題