【发布时间】:2017-12-23 08:47:46
【问题描述】:
我正在尝试在 FragmentStatePagerAdapter 中显示敬酒消息,但失败了。
我需要获取上下文以插入到我的代码中
Toast.makeText(, "The message", Toast.LENGTH_SHORT).show();
但我不能使用getContext()、getActivity(),因为我没有任何onCreateView 方法,而且我不知道任何其他获取上下文的方法。
这是我的FragmentStatePagerAdapter 代码:
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.widget.Toast;
import com.mobaleghan.tablighcalendar.view.fragment.PrayerListViewContainerFragment;
import com.mobaleghan.tablighcalendar.view.fragment.TablighDataTabFragment;
public class TabbedKnowledgeAdapter extends FragmentStatePagerAdapter {
private int mNumOfTabs;
private TabLayout tabLayout;
public TabbedKnowledgeAdapter(FragmentManager fm, int NumOfTabs, TabLayout tabLayout) {
super(fm);
this.mNumOfTabs = NumOfTabs;
this.tabLayout = tabLayout;
}
@Override
public Fragment getItem(int position) {
//Some codes
Toast.makeText(, "the message", Toast.LENGTH_SHORT).show(); //I need context
//Some other codes
}
@Override
public int getCount() {
return mNumOfTabs;
}
}
那么我如何在FragmentStatePagerAdapter 中获取上下文?
【问题讨论】:
-
试试
tabLayout.getContext()并提供反馈! -
@Xenolion 成功了!
-
在 FragmentStatePagerAdapter 构造函数中传递上下文。
-
添加了一个答案@AlexJolig
-
我不喜欢 PagerAdapter(视图数据的提供者)依赖于另一个视图(呈现数据的对象)的想法。
标签: android android-context fragmentstatepageradapter