À l'intérieur d'un OnClickListener, je ne peux pas accéder à la plupart des variables "extérieures" à la portée, comme ceci:
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);*/
}
});
Dans cet exemple, je dois obtenir PacketManager, mais je ne peux pas l'obtenir car je n'ai pas le contexte disponible dans OnClickListener.
Je pourrais faire une référence statique à l'extérieur et l'utiliser à l'intérieur, mais est-ce correct? Cela semble étrange de devoir faire ça tout le temps?