2010-07-01 93 views
0

我正在开发一个使用ListActivity的android应用程序。Android - 转换活动

在方法onListItemClick,我实例化一个对象x。我有一个Activity的构造函数接收和x的同一类型的对象。我如何做实例化并启动它?

非常喜欢这一点,但它不工作:

protected void onListItemClick(ListView l, View v, int position, long id) { 
    EventoSingle eventoSingle = new EventoSingle(this.eventos.get(position)); 
    Intent i = new Intent(this, EventoSingle.class); 
    eventoSingle.startActivity(i); 
    startActivity(i); 
    super.onListItemClick(l, v, position, id); 
} 

回答

0

这个问题是用人们告诉我在答案中做的事情解决的。 但随后发生其他错误:

“的newInstance失败:没有()”

然后我检查this question/answer和一切工作就好了。

0

不,你做得不对。

你需要这样做。

Intent i = new Intent(this, EvenToSingle.class); 
i.putExtra("somekey", this.eventos.get(position)); // this will depend on the type of extra 
startActivity(i); 

然后在你的onCreate中进行新的Activity。

Intent i = getIntent(); 
obj = i.getExtra("somekey"); // this will depend on the type of Extra. 
+0

当我这样做时,我得到这个异常: java.lang.RuntimeException:无法实例化活动ComponentInfo {org.android.catsMobile/org.android.catsMobile.EventoSingle}:java.lang.InstantiationException:org。 android.catsMobile.EventoSingle – rlc 2010-07-01 22:23:47

+0

发布EvenToSingle的代码。 – 2010-07-01 23:23:06