直接在PagerAdapter中获取上下文?

时间:2013-01-10 23:21:48

标签: java android

我需要在PagerAdapter中使用PackageManager pm = context.getPackageManager();,但我不知道如何获取上下文。

public class MyPagerAdapter extends PagerAdapter {
     ...
     }

PagerAdapter中的上下文如何?

3 个答案:

答案 0 :(得分:5)

@DeeV的答案意味着你必须自己通过构造函数或通过setter为你的PageAdapter提供一个上下文。然后将其作为字段存储在PageAdapter中,并在需要时将其检索。

答案 1 :(得分:0)

私人ViewGroup _container;

public override Java.Lang.Object InstantiateItem(ViewGroup container, int position)
{
   _container = container;
}

private Context GetContext()
{
   return (Activity)_container.Context;
}

答案 2 :(得分:0)

不建议提供上下文,这可能导致内存泄漏, 如果需要上下文来访问资源,则可以通过构造函数提供资源。

MyPagerAdapter(val resources: Resources){

}
....

val adapter = MyPagerAdapter(context.resources)