Dentro de un OnClickListener no puedo acceder a la mayoría de las variables "fuera" del alcance, así:
findViewById(R.id.Button01).setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
Intent mainApps = new Intent(Intent.ACTION_MAIN);
mainApps.addCategory(Intent.CATEGORY_LAUNCHER);
List<ActivityInfo> activities = this.getPackageManager().queryIntentActivities(mainApps, 0);
/*
Intent intent = new Intent("com.sygic.drive/com.sygic/drive/.SygicDriveActivity");
startActivity(intent);*/
}
});
en este ejemplo, necesito obtener el PacketManager, y no puedo obtenerlo porque no tengo el Contexto disponible dentro de OnClickListener.
Podría hacer una referencia estática afuera y usarla adentro, pero ¿es eso correcto? ¿Parece extraño tener que hacer eso todo el tiempo?