我已經制作了一個查看分頁器滑動演示,我有一個gridView,我已經顯示來自ImageURL的arrayList的圖像,現在我想在其點擊的下一個活動中顯示該圖像,然後它滑動滑動滑動,我已經爲它實現ViewPager,並已設置適配器viewPager,滑動功能工作正常,但是當我點擊從GridView的任何圖像時,它始終顯示從arrayList的第一個圖像,但它應該顯示已被點擊的圖像,所以總是從arrayList的第一個位置圖像是diaplsyed,所以我應該怎麼做從我點擊的圖像啓動ViewPager,請幫助和保存,謝謝你有一個愉快的一天。我的代碼如下:ViewPager以圖像arrayList的第一個索引開始
GridActivity.java
GridView gd_product;
ArrayList<String> resultArray;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_subcategory);
initialize();
sub_cat = getIntent().getStringExtra("sub_cat");
cat_name = getIntent().getStringExtra("cat_name");
menu.setSelectedTab(1);
titlesubCat.setText(cat_name);
System.out.println(":::::::::Inside catalog:::::::::");
new GetSubCatalogList().execute();
gd_product.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
big_image = subCatList.get(position).get(Const.TAG_BIG_IMG);
i = new Intent(SubCatagoryActivity.this, DetailsActivity.class);
i.putStringArrayListExtra("array", resultArray);
i.putExtra(Const.TAG_BIG_IMG, big_image);
i.putExtra("cat_name", cat_name);
i.putExtra("pos", position);
startActivity(i);
}
});
這裏big_Image是IMAGEURL它被點擊,並且POS是IMAGEURL的ResultArray內(IMAGEURL的ArrayList)
BigImage.java
ArrayList<String> resultArray;
private DisplayImageOptions options;
public static ImageLoader imageLoader;
resultArray = getIntent().getStringArrayListExtra("array");
viewPager = (ViewPager) findViewById(R.id.view_pager);
viewPager.setVisibility(View.VISIBLE);
adapter = new ImagePagerAdapter();
pos = getCategoryPos(big_img);
System.out.println("::::::::::::::INDEX OF::::::::::::" + pos);
viewPager.setCurrentItem(pos);
viewPager.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
if (isOnClick) {
if (event.getX() > viewPager.getWidth()/2) {
// go to next
viewPager.setCurrentItem(pos, true);
pos++;
} else {
viewPager.setCurrentItem(pos, true);
pos--;
// go to previous
}
return true;
}
}
return false;
}
});
private class ImagePagerAdapter extends PagerAdapter {
@Override
public int getCount() {
return resultArray.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((ImageView) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
Context context = DetailsActivity.this;
ImageView imageView;
imageView = new ImageView(context);
try {
int padding = context.getResources().getDimensionPixelSize(
R.dimen.padding_medium);
imageView.setPadding(padding, padding, padding, padding);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageLoader.displayImage(resultArray.get(position), imageView);
((ViewPager) container).addView(imageView, 0);
} catch (NotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return imageView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView((ImageView) object);
}
}
int getCategoryPos(String category) {
return resultArray.indexOf(category);
}
的位置
太多的代碼,我不能得到你所做的。所有你必須做的事情,發送位置或發送一個對象到下一個班級, –