Wewnątrz OnClickListener nie mogę uzyskać dostępu do wielu rzeczy - jak podejść?

Wewnątrz OnClickListener nie mogę uzyskać dostępu do większości zmiennych „poza” zakresu, takich jak:

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ć pakiet PacketManager i nie mogę go pobrać, ponieważ nie mam kontekstu dostępnego w OnClickListener.

Mógłbym utworzyć statyczne odniesienie na zewnątrz i użyć go wewnątrz, ale czy to prawda? Wydaje się dziwne, że muszę to robić cały czas?

questionAnswers(4)

yourAnswerToTheQuestion