2015-11-21 2 views
2

Я пытаюсь реализовать Fragment в ViewPager, чтобы сделать мое приложение более гибким. Мое приложение содержит TextView, и у меня есть несколько фраз, которые появятся один за другим, если вы поменяете страницу слева направо. На данный момент он работает таким образом, как я опубликовал, но я хочу добавить кнопку или, возможно, еще одну функцию, поэтому я хочу сделать ее конструктором из Fragments. Я пытаюсь изменить свой код на this post, но не могу полностью понять, как это сделать. Я создал два макета: один для текстового просмотра, другой, чтобы положить туда фрагмент. Может ли кто-нибудь показать мне, как это сделать ясно?Как реализовать фрагмент в ViewPager?

public class SwipeAdapter extends PagerAdapter{ 

private int[] car = {R.string.car1, R.string.car2, 
     R.string.car3, R.string.car4, R.string.car5}; 
private Context context; 
private LayoutInflater layoutInflater; 

public SwipeAdapter(Context context){ 
    this.context = context; 
} 

@Override 
public int getCount() { 
    return car.length; 
} 

@Override 
public boolean isViewFromObject(View view, Object object) { 
    return (view==(RelativeLayout)object); 
} 

@Override 
public Object instantiateItem(ViewGroup container, int position) { 
    layoutInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View itemView = layoutInflater.inflate(R.layout.carSwipe, container, false); 

    TextView textView = (TextView) itemView.findViewById(R.id.interTextView); 
    textView.setText(car[position]); 
    container.addView(itemView); 
    return itemView; 
} 

@Override 
public void destroyItem(ViewGroup container, int position, Object object) { 
    container.removeView((RelativeLayout)object); 
} 
+0

Вы пытаетесь иметь ViewPager в фрагменте или сами страницы являются фрагментами или, возможно, обоими? –

+0

У меня есть TextView, и у меня есть несколько фраз, которые появятся один за другим, если вы поменяете страницу слева направо. На данный момент он работает таким образом, как я опубликовал, но я хочу добавить кнопку или, возможно, еще одну функцию, поэтому я хочу сделать ее конструктором из Fragments. – Nikolai

ответ

0

Вам не нужен ViewPager с фрагментами для достижения показа TextView.

Вы можете попробовать:

  1. В вашей деятельности макет XML, который вы установили в его содержимом добавить ViewPager с шириной и высотой вашего предпочтения.
  2. Затем вы можете установить адаптер, который вы разместили выше для этого ViewPager, и он будет работать.

Альтернативно, если вам все еще необходимо раздувать фрагменты, вам необходимо расширить FragmentStateAdapter из FragmentAdapter. Это даст вам возможность иметь в фрагменте ViewPager,

+0

Я хочу добавить кнопку тогда. Вот почему я хочу сделать его конструктором из фрагментов. – Nikolai

+0

Если мой вопрос ясен, вы могли бы дать мне более подробную информацию, пожалуйста, какой из способов будет лучше для меня? – Nikolai

0

Я создал полный пример, покажу код. Надеюсь, он разрешит ваши проблемы. .

+0

Хорошо, спасибо за ваш ответ! Это слишком сложно, я все еще не понимаю, как применить его к моему приложению. Не могли бы вы показать мне, используя мой пример? – Nikolai

Смежные вопросы