Android - 转换活动
问题描述:
我正在开发一个使用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);
}
答
不,你做得不对。
你需要这样做。
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.
当我这样做时,我得到这个异常: 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
发布EvenToSingle的代码。 – 2010-07-01 23:23:06