Wewnątrz OnClickListener nie mogę uzyskać dostępu do większości zmiennych „poza” zakresem, na przykład:
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);*/
}
});
w tym przykładzie muszę pobrać PacketManager i nie mogę go pobrać, ponieważ nie mam dostępnego kontekstu wewnątrz OnClickListener.
Mógłbym stworzyć statyczne odniesienie na zewnątrz i użyć go w środku, ale czy to prawda? Wydaje się dziwne, że trzeba to robić przez cały czas?