2013-01-10 85 views
0

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

public class MyPagerAdapter extends PagerAdapter { 
    ... 
    } 

PagerAdapter的內部環境如何實現?

+1

使用類似'MyPagerAdapter(Context ctx)'的構造函數。 – DeeV

回答

4

@DeeV的答案意味着您必須通過構造函數或setter方法爲您的PageAdapter提供一個上下文。然後將其作爲字段存儲在PageAdapter中,並在需要時將其檢索出來。

+0

看起來沒有像BaseAdapter或ArrayAdapter使用getContext()那樣的自然方式。你將不得不遵循@Snicolas提到的。 – JaydeepW

0

private ViewGroup _container;

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

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