2010-07-01 2 views
0

Я разрабатываю приложение для Android, которое использует ListActivity.Android - Switching Activities

В методе onListItemClick я создаю объект x. У меня есть Activity a, чей конструктор получает и объект того же типа x. Как мне сделать, чтобы создать экземпляр a и запустить его?

Довольно много, как это, но он не работает:

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 для новой деятельности.

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: орг. android.catsMobile.EventoSingle – rlc

+0

Опубликовать код для EvenToSingle. –