2012-11-11 104 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方法的变体,因为它们支持大多数泛型类型。干杯!