2011-01-19 64 views
5

我是Android新手。
我必须开始一个新的活动。通常,我会写下面的代码:
Android - 如何从实例开始新活动

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

,但现在我需要从该活动的一个实例启动一个新的活动(因为我不希望启动类型的一般活动,我需要调用他的构造函数来定义他的属性)。类似这样的:

Activity2 instance = new Activity2(parameters); 
Intent i = new Intent(Activity1.this, instance); 
Activity1.this.startActivity(i); 

这可能吗?

+0

“(因为我不希望启动类型的一般活动,我需要打电话给他的构造函数来定义他的属性)“ - 这在Android中不可行。 – CommonsWare 2011-01-19 16:14:54

回答

9

我认为你最好为你的意图添加一个包,并阅读信息。你用这个包传递你的参数。

例如:

Intent myIntent = new Intent(this, BlipImageSender.class); 
    Bundle paramets = new Bundle(); 

paramets.putString("YOUR_PARAM_IDENT","your_parameter_value"); 

myIntent.putExtras(paramets); 
this.startActivity(myIntent); 

和类:

String your_param_value = getIntent().getExtras().getString("YOUR_PARAM_IDENT"); 
+0

非常感谢你nanne,它与经典Java非常不同!然而,我得到一个NullPointerException在我的类的OnCreate方法中使用“sendInfo.getString(key)”...我通过将其替换为“(String)this.getIntent()。getExtras()。get(key)” – Oneiros 2011-01-19 16:44:07