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 내부에 Context를 사용할 수 없기 때문에 가져올 수 없습니다.
외부에서 정적 참조를 만들어 내부에서 사용할 수 있지만 그게 맞습니까? 항상 그렇게해야하는 게 이상해 보입니까?