studio recharge recargar hacia deslizar desde como boton actualizar activity abrir abajo android android-activity inner-classes listactivity nested-class

recharge - Clase de actividad interna anidada en Android



recharge activity android (3)

No, eso no es posible. Después de todo, el sistema operativo Android necesitará crear una instancia de la actividad si se inicia en cualquier punto (por ejemplo, si se inicia con un intento), y es imposible crear una instancia de una ItemClass sin un elemento ListClass padre.

Recuerde que cada actividad es completamente independiente y puede iniciarse en cualquier momento mediante un intento.

¿Declarar una clase que amplía la Actividad dentro de otra clase de Actividad posible? Si es así, ¿cómo registraría esa clase en el manifiesto? Además, ¿es algo que puede hacerse razonablemente o es una mala idea?

Estaba pensando en algo así como

class ListClass extends ListActivity{ ... ArrayList items; class ItemClass extends Activity{ ... Item item; @Override onCreate(){ Integer pos = getIntent().getExtras().getInt("pos"); item = items.get(pos); } } @Override onItemClick(int position){ startActivity(new Intent(this, ItemClass.class).putExtra("pos", position)); } }

Tenga en cuenta que la sintaxis no es 100% correcta, obviamente, en su mayoría pseudocódigo.


También me gustaría saber por qué quieres hacer esto.

Sin embargo, no veo ninguna razón por la que no funcionaría. ¿No podría referenciarlo en el AndroidManifest como lo haría siempre que ambas clases sean públicas? es decir, com.falmarri.ListClass.ItemClass?

Editar: No importa, esto no funciona como señaló EboMike.


Sí, funciona - es solo otra clase - solo necesita declarar su actividad usando notación de clase interna en AndroidManifest.xml:

<activity android: name = ". ListClass $ ItemClass" />

Parece que funciona bien para mí, pero tal vez cuando se hizo esta pregunta, ¿no era compatible con las versiones anteriores de Android?

No estoy seguro de por qué querrías hacer esto, pero puedes.