2012-11-11 150 views

回答

2

-在你1日活動創建ListView顯示您的項目。

-在ListView控件的onItemClickListener()方法,使用Intent第二屆活動。

-使用putExtra()意向認沽值如果需要傳遞給第二個活動,並的方法讓他們使用getExtras()方法第二活動

活動1:

lv.setOnItemClickListener(new OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
        long arg3) { 


       i = new Intent(Activity1.this,Activity2.class); 

       i.putExtra("value1","hello"); 
       i.putExtra("value2","hi"); 

       startActivity(i); 



     }); 

活動2:

Intent i = getIntent(); 
String index = intent.getExtras().getString("value1"); 
String value = intent.getExtras().getString("value2"); 
+0

謝謝,這是很難的,你建議爲這個應用程序變得更容易架構?? –

+0

@Jouni這是最簡單這樣做的方式...我們也可以通過使用'Bundle'來做到這一點...但這種方式要容易得多 –

+0

可以value1是一個圖像?? –

2

是的,這是可能的。您必須爲其他活動使用意圖(以及有關練習的一些數據)。

在項目的onClick創建此意圖,並通過startActivity(意向)啓動活動。在活動2中,您讀出傳入的Intent額外數據並相應地調整TextView/ImageView。

+0

好,謝謝,但我在Android的初學者,我不知道如何讀的輸入數據:( –

1

作爲評論員說: ​​「這是可能的」。可以通過用於啓動活動的Intent。使用Intent.putExtra(key,value)變體。這些臨時演員將作爲Bundle對象傳遞給活動。在那裏你可能會拿你的額外。例如,你可能會附上;

Intent intent = new Intent(HostActivity.this, SuccessorClass.class); 

intent.putExtra("Extra key", extraData); 

startActivity(intent); 

並且您可能會用附加數據獲取;

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    Object extraData = savedInstanceState.get("Extra key"); 
} 

確保檢查put和get方法的變體,因爲它們支持大多數泛型類型。乾杯!