Я пытаюсь установить изображения в viewpager из horizontalscrollview.Как установить изображения в viewpager из horizontalscrollview в android
Я не могу получить идентификатор horizontalscrollview для использования в методе setcurrentItem.
Я пробовал так много вещей, но я не мог.
Вот класс MainActivity
public class MainActivity extends AppCompatActivity {
int toplamSayfa = 5;
private View btnNext, btnPrev;
HorizontalScrollView hs;
ImageView imageView = null;
private Integer images[] = {R.drawable.a, R.drawable.b, R.drawable.c, R.drawable.d, R.drawable.e};
ViewPager viewPager;
LinearLayout myGallery;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
CustomPagerAdapter adapter = new CustomPagerAdapter(this, toplamSayfa);
myGallery = (LinearLayout) findViewById(R.id.container);
hs = (HorizontalScrollView) findViewById(R.id.scrollview);
viewPager = (ViewPager) findViewById(R.id.view_pager);
btnNext = findViewById(R.id.next);
btnPrev = findViewById(R.id.prev);
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(0);
btnPrev.setOnClickListener(onClickListener(0));
btnNext.setOnClickListener(onClickListener(1));
addImagesToThegallery();
}
private void addImagesToThegallery() {
final LinearLayout imageGallery = (LinearLayout) findViewById(R.id.container);
for (Integer image : images) {
imageGallery.addView(getImageView(image));
}
}
private View getImageView(final Integer image) {
imageView = new ImageView(getApplicationContext());
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
lp.setMargins(0, 0, 10, 0);
imageView.setLayoutParams(lp);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//the method where i am stuck
viewPager.setCurrentItem();
}
});
imageView.setImageResource(image);
return imageView;
}
private View.OnClickListener onClickListener(final int i) {
return new View.OnClickListener() {
@Override
public void onClick(View v) {
if (i > 0) {
if (viewPager.getCurrentItem() < viewPager.getAdapter().getCount() - 1) {
viewPager.setCurrentItem(viewPager.getCurrentItem() + 1);
}
} else {
if (viewPager.getCurrentItem() > 0) {
viewPager.setCurrentItem(viewPager.getCurrentItem() - 1);
}
}
}
};
}
}
Почему вы используете ViewPager и horizontalscrollview оба? Используйте только ViewPager для подкачки изображений. Не нужно использовать scrollview. – Drv
Вы правы, это возможно. но просто пробую разные вещи :) – kinyas