Las respuestas existentes (pasar los datos en el Intent
pasado a startActivity()
) muestran la forma normal de resolver este problema. Hay otra solución que se puede usar en el caso extraño de que esté creando una Actividad que será iniciada por otra aplicación (por ejemplo, una de las actividades de edición en un complemento de Tasker ) y, por lo tanto, no controla la Intent
que inicia Activity
.
Puede crear una clase base Activity
que tenga un constructor con un parámetro, luego una clase derivada que tenga un constructor predeterminado que llame al constructor de la clase base con un valor, así:
class BaseActivity extends Activity
{
public BaseActivity(String param)
{
// Do something with param
}
}
class DerivedActivity extends BaseActivity
{
public DerivedActivity()
{
super("parameter");
}
}
Si necesita generar el parámetro para pasar al constructor de la clase base, simplemente reemplace el valor codificado con una llamada de función que devuelve el valor correcto para pasar.