Расширенное представление с использованием фрагмента

Я разрабатываю приложение для создания конституции и хочу использовать макет с вкладками и режим просмотра "Размах". Вкладки получают данные из базы данных с помощью специального адаптера. Поскольку размер данных (без фрагмента) неизвестен, я хочу, чтобы при каждом пролистывании генерировалось новое представление, отличающееся содержанием главы от Конституции.

Я хочу что-то похожее на приложение словаря ниже, с этими метками смахивания с обеих сторон. Я знаком с вкладками, но мне бы хотелось получить ресурс, который поможет мне достичь этого, так как большая часть документации, которую я видел, не объясняет этого. Спасибо

1 ответ

Измените это с вашим желаемым OutPut

OnCreate

 ArrayList<McqQuestionBean> mcqQuestionBeans= new ArrayList<McqQuestionBean>();
        adapter = new NewsFragmentPagerAdapter(getSupportFragmentManager(),
                mcqQuestionBeans, MCQTestActivity.this);
        pager.setAdapter(adapter);

Базовый адаптер

public class NewsFragmentPagerAdapter extends FragmentStatePagerAdapter {

private ArrayList<McqQuestionBean> mcqQuestionBeans;

private McqQuestionFragment fragment;
private Activity context;

public NewsFragmentPagerAdapter(FragmentManager fm, ArrayList<McqQuestionBean> mcqQuestionBeans, Activity context) {
    super(fm);
    this.mcqQuestionBeans = mcqQuestionBeans;

    this.context = context;

}

public void update(ArrayList<McqQuestionBean> mcqQuestionBeans) {
    this.mcqQuestionBeans = mcqQuestionBeans;
    notifyDataSetChanged();
}

@Override
public int getCount() {
    return mcqQuestionBeans.size();
}

@Override
public int getItemPosition(Object object) {
    // TODO Auto-generated method stub
    return super.getItemPosition(object);
}

@Override
public Fragment getItem(int position) {

    fragment = McqQuestionFragment.newInstance(mcqQuestionBeans.get(position), position, context);

    return fragment;

}

}

Ваш фрагмент McqQuestionFragment

public class McqQuestionFragment extends Fragment {

private int position, porrefid;
    private String question;
    private ArrayList<McqQuestionChoiceBean> choices;   



@SuppressWarnings("unchecked")
    @Override
    public void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        position = getArguments().getInt("position");
        porrefid = getArguments().getInt("porrefid");
        userMarkedOn = getArguments().getInt("userMarkedOn");
        question = getArguments().getString("question");
        choices = (ArrayList<McqQuestionChoiceBean>) getArguments()
                .getSerializable("choices");
    }

    public static McqQuestionFragment newInstance(
            McqQuestionBean mcqQuestionBean, int position, Activity activity) {
        final McqQuestionFragment f = new McqQuestionFragment();
        final Bundle args = new Bundle();
        args.putString("question", mcqQuestionBean.getQuestion());
        args.putInt("position", position);
        args.putInt("userMarkedOn", mcqQuestionBean.getUserCorrectedOn());
        args.putSerializable("choices", mcqQuestionBean.getChoices());
        args.putInt("porrefid", mcqQuestionBean.getPorrefid());
        f.setArguments(args);

        return f;
    }

}
Другие вопросы по тегам