Внутри OnClickListener я не могу получить доступ ко многим вещам - как подойти?

Внутри 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.

Я мог бы сделать статическую ссылку снаружи и использовать ее внутри, но так ли это? Кажется странным делать это все время?

Ответы на вопрос(4)

Ваш ответ на вопрос