Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SherlockFragment始终为空的ViewPager_Java_Android_Android Fragments_Android Viewpager_Android Nested Fragment - Fatal编程技术网

Java SherlockFragment始终为空的ViewPager

Java 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

目前我有一个包含SherlockFragment的选项卡主机活动。在其中一个选项卡(片段)中,我想实现一个显示图像的ViewPager(ImageView)。我创建了一个FragmentPagerAdapter,并将其添加到ViewPager中。但是当我运行应用程序时,我的ViewPager显示为空,没有图像

以下是我的课程:

Java

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;
}

}