[英]Gridview onclick images display imageview as gallery view using viewpager
我的應用程序將圖像顯示為gridview,然后單擊任何圖像顯示庫視圖,即可使用viewpager左右滑動。 我的代碼如下
public class MemorialPhotoAlbumViewpager extends FragmentActivity {
static Activity MemorialPhotoAlbumViewpagerActivity;
int positionstate = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
String[] myStrings = intent.getStringArrayExtra("ArrayphotoAlbum");
int position = intent.getIntExtra("position", 0);
setContentView(R.layout.photo_album_viewpager);
// check the version of android
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy =
new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
ImagePagerAdapter adapter = new ImagePagerAdapter(myStrings,position);
viewPager.setAdapter(adapter);
}
private class ImagePagerAdapter extends PagerAdapter {
private String[] ArrayphotoAlbumb;
private int positionb;
public ImagePagerAdapter(String[] myStrings, int position)
{
ArrayphotoAlbumb = myStrings;
positionb = position;
}
@Override
public int getCount() {
return ArrayphotoAlbumb.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((ImageView) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
Context context = MemorialPhotoAlbumViewpager.this;
ImageView imageView = new ImageView(context);
String test = ArrayphotoAlbumb[position];
Bitmap bimage= getBitmapFromURL(test);
imageView.setImageBitmap(bimage);
((ViewPager) container).addView(imageView, 0);
return imageView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView((ImageView) object);
}
}
public static Bitmap getBitmapFromURL(String src) {
try {
URL url = new URL(src);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
return myBitmap;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
我可以顯示出來,但是viewpager的位置始終從0開始。如果我單擊gridview上的第二個圖像並使用viewpager顯示它,如何允許允許向左滑動以顯示第一個圖像。
如果您要啟動視圖尋呼機的新活動,請從gridview獲取所選圖像的位置,並將其傳遞給該活動。 然后,您可以在視圖尋呼機中設置選定的圖像,例如
pager.setCurrentItem(currentid); // here current id is the position of selected image.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.