Innerhalb eines OnClickListener kann ich nicht auf die meisten Variablen "außerhalb" des Bereichs zugreifen, wie folgt:
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);*/
}
});
In diesem Beispiel muss der PacketManager abgerufen werden, und ich kann ihn nicht abrufen, da der Kontext im OnClickListener nicht verfügbar ist.
Ich könnte außen eine statische Referenz erstellen und innen verwenden, aber ist das richtig? Scheint seltsam, das die ganze Zeit tun zu müssen?