Как вы можете разблокировать возможность перехода на новую страницу после нажатия кнопки на предыдущей странице?Изменение количества ViewPager
В настоящее время у меня есть PagerAdapter. Код ниже создает экземпляр элемента. В getCount() возвращается значение 3 и, таким образом, создаются 3 слайда. Мне было интересно, есть ли способ иметь только 3 вида, но после нажатия кнопки откройте 4-й вид, к которому вы теперь можете перейти?
@Override
public Object instantiateItem(final View collection, int position) {
final LayoutInflater inflater = (LayoutInflater) TViewPager.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
TextView tv = new TextView(TViewPager.this);
//Describe the separate layouts of views
switch (position) {
case 1:
View v1 = inflater.inflate(R.layout.expander2, null, false);
((ViewPager) collection).addView(v1, 0);
final Button button = (Button) findViewById(R.id.button_click_me);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v1) {
Toast.makeText(getBaseContext(), "+1", Toast.LENGTH_LONG).show();
//*Some code*//
}
});
return v1;
Есть ли способ изменить:
public int getCount() {
return 3;
}
Как «setCount()», а затем поместить его в // * // * некоторый код, чтобы увеличить количество слайдов?
Would добавления
instantiateItem(collection,4);
работа где-то работать?
Спасибо,
поэтому я попытался добавить: ((ViewPager) collection) .addView (v1, 3); в клиенте, но он не работал. Можете ли вы дать немного больше советов о том, как это сделать? –
Вы делали 'notifyDatasetChanged()' –
Я пробовал, но он сбой. я бы сделал ((ViewPager) collection) .notifyDatasetChanged() все внутри прослушивателя кликов. Кроме того, это add или addview и на каком объекте эти методы принадлежат, коллекция? –