2010-07-18 99 views
3

我有一個點擊事件掛鉤到我的列表視圖,如圖所示。試圖從列表視圖中的文本視圖獲取價值在Android中的單擊事件

int[] GenusListIDs = { R.id.txt_ID, R.id.txt_Genus, R.id.txt_Count }; 
     SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.genusitem, cursor_genuslist, service.GenusListColumns, GenusListIDs); 

     ListView list_Genus = (ListView)findViewById(R.id.list_Genus); 
     list_Genus.setAdapter(adapter); 
     list_Genus.setOnItemClickListener(new OnItemClickListener(){ 
      @Override 
      public void onItemClick(AdapterView parent, View view, int position, long id) 
      { 
       try 
       { 
        Log.println(1, "ItemClick", view.toString()); 
        TextView tv = (TextView)view; 
        String genus = (String) tv.getText(); 
        Intent i = new Intent(getBaseContext(), Cat_Species.class);//new Intent(this, Total.class); 
        /*view 
        i.putExtra("id", id);*/ 
        startActivity(i); 
       } 
       catch(Exception ex) 
       { 
        Log.println(1, "item-click-event", ex.getMessage()); 
       } 
      } 
     }); 

我需要將字符串參數傳遞給基於它們點擊的listitem的新意圖。我想要傳遞的值在名爲txt_Genus的列表項中。我如何從列表項目中獲得該值以傳遞意圖?哈哈,別注意我的實驗。

回答

5

這應該做到這一點。

TextView tv = (TextView)view.findViewById(R.id.txt_Genius); 
String genus = tv.getText().toString(); 

然後把它納入意圖的演員,我想你已經知道了這一點。

i.putExtra("genius", genius); 

編輯;

在您的新活動中,您將訪問該意圖並獲得額外套餐。然後,您可以訪問您以前的活動中意圖放置的任何內容,如下圖所示;

Bundle extras = getIntent().getExtras(); 
String genius = extras.getString("genius"); 
// pop some toast to show the value of genius - not required but shows it works :) 
Toast.makeText(this, "Genius value: " + genius, Toast.LENGTH_SHORT).show(); 
+0

真棒,謝謝。正是我需要的。現在,我如何在我的新活動的onCreate方法中獲得該值? – 2010-07-18 01:29:21

+0

已爲您更新的答案。 Damon – 2010-07-18 09:22:45

+0

superB非常感謝.. :) :) :) :) – 2012-07-16 06:10:59

相關問題