我已經看到了我的問題的相對帖子,但它不能解決我的問題。 我試圖用3片段獲得滑動視圖。 在主片段,我有這樣的:FragmentStatePagerAdapter沒有調用getItem()
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View vue = inflater.inflate(R.layout.fragment_conversions, container, false);
ConversionsPagerAdapter cPageAdapter = new ConversionsPagerAdapter(getActivity().getSupportFragmentManager());
ViewPager vp = vue.findViewById(R.id.conversionsPager);
cPageAdapter.getItem(0);
vp.setAdapter(cPageAdapter);
Button convKmhKts = (Button) vue.findViewById(R.id.convKmhKts);
convKmhKts.setText("...");
...
這裏是類我FragmentStatePagerAdapter的:
public class ConversionsPagerAdapter extends FragmentStatePagerAdapter{
public ConversionsPagerAdapter(FragmentManager fm) {
super(fm);
Log.i("ARKA", "FragmentStatePagerAdapter CONSTRUCTOR");
}
@Override
public Fragment getItem(int i) {
return ConversionFragment.newInstance(i);
}
@Override
public int getCount() {
return 1;
}
}
而且finnaly其顯示的標籤中的片段:
public class ConversionFragment extends Fragment {
public static final String ID_CONVERSION = "id_conversion";
public static ConversionFragment newInstance(int pos) {
ConversionFragment stf = new ConversionFragment();
Bundle args = new Bundle();
args.putInt("pos", pos);
stf.setArguments(args);
return stf;
}
public ConversionFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
// The last two arguments ensure LayoutParams are inflated
// properly.
Bundle args = getArguments();
int idConversion = args.getInt(ID_CONVERSION);
Log.i("idConversion", String.valueOf(idConversion));
int idVue;
switch (idConversion){
case 0: idVue = R.layout.fragment_conversions_vitesse;
break;
case 1: idVue = R.layout.fragment_conversions_vitesse;
default: idVue = R.layout.fragment_conversions_vitesse;
break;
}
View rootView = inflater.inflate(idVue, null);
return rootView;
}
}
事實是,getItem()永遠不會被調用。 我嘗試getChildFragmentManager()來改變getActivity()getSupportFragmentManager(),但似乎這不是好辦法... 當我試圖進入電影我的按鈕,我得到這個:
的java.lang。的NullPointerException:嘗試上的空對象引用
在行調用虛擬方法「無效android.widget.Button.setOnClickListener(android.view.View $ OnClickListener)」,其中我使用的按鈕。
嗨,謝謝你的回答,它只是爲了一個測試,我忘了重新這一行,但我會嘗試你的idera。 –
我嘗試過,但我仍然是nullpointerexception ... –