我需要PackageManager pm = context.getPackageManager();
在 PagerAdapter 内部使用,但我不知道如何获取上下文。
public class MyPagerAdapter extends PagerAdapter {
...
}
PagerAdapter 中的上下文如何?
@DeeV 的答案意味着您必须自己为 PageAdapter 提供上下文,无论是通过构造函数还是通过 setter。然后将其作为字段存储在 PageAdapter 中,并在需要时检索它。
私有 ViewGroup _container;
public override Java.Lang.Object InstantiateItem(ViewGroup container, int position)
{
_container = container;
}
private Context GetContext()
{
return (Activity)_container.Context;
}
不建议提供 Context,这可能会导致内存泄漏,如果需要上下文来访问资源,可以通过构造函数提供资源。
MyPagerAdapter(val resources: Resources){
}
....
val adapter = MyPagerAdapter(context.resources)