Всередині OnClickListener я не можу отримати доступ до більшості змінних "поза межами" області, наприклад:
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);*/
}
});
у цьому прикладі мені потрібно отримати PacketManager, і я не можу його отримати, оскільки у мене немає контексту, доступного всередині OnClickListener.
Я міг би робити статичне посилання зовні і використовувати його всередині, але це правильно? Здається дивним, що доводиться це робити постійно?