Java SherlockFragment始终为空的ViewPager
目前我有一个包含SherlockFragment的选项卡主机活动。在其中一个选项卡(片段)中,我想实现一个显示图像的ViewPager(ImageView)。我创建了一个FragmentPagerAdapter,并将其添加到ViewPager中。但是当我运行应用程序时,我的ViewPager显示为空,没有图像 以下是我的课程: JavaJava SherlockFragment始终为空的ViewPager,java,android,android-fragments,android-viewpager,android-nested-fragment,Java,Android,Android Fragments,Android Viewpager,Android Nested Fragment,目前我有一个包含SherlockFragment的选项卡主机活动。在其中一个选项卡(片段)中,我想实现一个显示图像的ViewPager(ImageView)。我创建了一个FragmentPagerAdapter,并将其添加到ViewPager中。但是当我运行应用程序时,我的ViewPager显示为空,没有图像 以下是我的课程: Java Java 现在为什么我的ViewPager总是显示为空?修复了它。。。我不得不将“BonusFragment.Java”中的“getActivity().get
Java
现在为什么我的ViewPager总是显示为空?修复了它。。。我不得不将“BonusFragment.Java”中的“getActivity().getSupportFragmentManager()”更改为“getChildFragmentManager()”修复了它。。。我不得不将“BonusFragment.Java”中的“getActivity().getSupportFragmentManager()”改为“getChildFragmentManager()”Hi@Abuzaid。这对你有用吗?如果切换选项卡,则第二次我的应用程序因
12-02 21:17:26.019:E/AndroidRuntime(32505):java.lang.IllegalStateException:无活动
异常而崩溃。
public class BonusFragment extends SherlockFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getImages(); //Here I get the images for the viewpager
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (container == null) {
return null;
}
View view = inflater.inflate(R.layout.bonus_frag, container, false);
viewPager = (ViewPager) view.findViewById(R.id.pagr);
Q.ADAPTER = new BonusPagerAdapter(getActivity()
.getSupportFragmentManager(), myImagesList);
viewPager.setAdapter(Q.ADAPTER);
return view;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
}
private ArrayList<Bitmap> items;
public BonusPagerAdapter(FragmentManager fm, ArrayList<Bitmap> items) {
super(fm);
this.items = items;
}
@Override
public int getCount() {
return items.size();
}
@Override
public Fragment getItem(int position) {
Bitmap bitmap = items.get(position);
BonusImageFragment fragment = BonusImageFragment.newInstance("Glass 1");
fragment.setBitmap(bitmap);
return fragment;
}
@Override
public int getItemPosition(Object object) {
return PagerAdapter.POSITION_NONE;
}
@Override
public void notifyDataSetChanged() {
super.notifyDataSetChanged();
}
}
public class BonusImageFragment extends SherlockFragment {
private Bitmap bitmap;
public static final String EXTRA_MESSAGE = "EXTRA_MESSAGE";
private static String frag = "";
public BonusImageFragment() {
}
public static final BonusImageFragment newInstance(String message)
{
frag = message;
BonusImageFragment f = new BonusImageFragment();
Bundle bdl = new Bundle(1);
bdl.putString(EXTRA_MESSAGE, message);
f.setArguments(bdl);
return f;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.glass_item, container, false);
ImageView image = (ImageView) v.findViewById(R.id.glass_view);
image.setImageBitmap(bitmap);
return v;
}
public Bitmap getBitmap() {
return bitmap;
}
public void setBitmap(Bitmap bitmap) {
this.bitmap = bitmap;
}
}