2016-02-26 92 views
0

我在我的android應用程序中有網格視圖,我希望當我點擊網格視圖中的一個圖像時,它會在全視圖中顯示該圖像。點擊監聽網格視圖時顯示圖像ANdroid

當前它顯示圖片點擊它時的位置。

這裏是代碼

GridView gridview = (GridView) findViewById(R.id.gridview); 
     gridview.setAdapter(new ImageAdapter(this)); 

     gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      public void onItemClick(AdapterView<?> parent, View v, 
            int position, long id) { 
       Toast.makeText(ViewActivity.this, "" + position, 
         Toast.LENGTH_SHORT).show(); 
      } 
     }); 

這裏是ImageAdapter

public class ImageAdapter extends BaseAdapter { 

    private Context mContext; 

    public ImageAdapter(Context c) { 
     mContext = c; 
    } 
    public int getCount() { 
     return mThumbIds.length; 
    } 

    public Object getItem(int position) { 
     return null; 
    } 

    public long getItemId(int position) { 
     return 0; 
    } 

    // create a new ImageView for each item referenced by the Adapter 
    public View getView(int position, View convertView, ViewGroup parent) { 
     ImageView imageView; 
     if (convertView == null) { 
      // if it's not recycled, initialize some attributes 
      imageView = new ImageView(mContext); 
      imageView.setLayoutParams(new GridView.LayoutParams(85, 85)); 
      imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
      imageView.setPadding(8, 8, 8, 8); 
     } else { 
      imageView = (ImageView) convertView; 
     } 
     Picasso.with(mContext).load(mThumbIds[position]).into(imageView); 
     //imageView.setImageResource(Integer.parseInt(mThumbIds[position])); 
     return imageView; 
    } 


    public String[] mThumbIds = new String[]{ 
      "http://192.168.1.4/comic_app/index.php?id=1", 
      "http://192.168.1.4/comic_app/index.php?id=67", 
      "http://192.168.1.4/comic_app/index.php?id=4", 
      "http://192.168.1.4/comic_app/index.php?id=89", 
      "http://192.168.1.4/comic_app/index.php?id=98", 
      "http://192.168.1.4/comic_app/index.php?id=23", 
      "http://192.168.1.4/comic_app/index.php?id=45", 
    }; 
} 

如何顯示在該圖像的點擊圖片。

在此先感謝。

+0

http://android-er.blogspot.com/2012/12/implement-onitemclicklistener-for.html - 本教程將幫助你。 –

回答

2

我已經解決了我的問題,我只是更換了這條線

imageView.setImageResource(imageAdapter.mThumbIds[position]); 

與此

Picasso.with(imageAdapter.mContext).load(imageAdapter.mThumbIds[position]).into(imageView); 

現在,做工精細....

1

簡稱鏈接告訴你如何可以全屏幕顯示在GridView圖片點擊GridView的圖像後

http://www.androidhive.info/2012/02/android-gridview-layout-tutorial/

讓我知道它是幫助你或沒有,否則我會給你的代碼

+0

我在imageView.setImageResource(imageAdapter.mThumbIds [position])上出錯了;因爲它接受整數,但我有數組字符串的意思是說我有圖像的網址如何解決 –

+0

我已更新我的問題我有字符串數組如何解決這個問題。 –

+0

從JSON –

0

您可以通過以下方式將BitMap傳遞給其他活動。

Intent intent = new Intent(getApplicationContext(),CameraPreviewActivity.class); 
Bundle extras = new Bundle(); 
gridItem = gridItems.get(position); 
bitmap = gridItem.getImage(); 
image_title = gridItem.getImageTitle(); 
ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
bitmap.compress(Bitmap.CompressFormat.JPEG, 50, bos); 
extras.putString(IMAGE_TITLE,image_title); 
extras.putByteArray(IMAGE, bos.toByteArray()); 
intent.putExtras(extras); 
startActivity(intent); 

此代碼將進入您的gridview.setOnItemClickListener

然後在下一個活動中使用下面的代碼獲取圖像。

byte[] byteArray = getIntent().getByteArrayExtra(IMAGE); 
Bitmap bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length); 

希望這有助於!

+0

我已更新我的問題,我有字符串數組如何解決這個問題.. –

0

您可以通過點擊項目的位置,下一個屏幕

 // Sending image id to FullScreenActivity 
    Intent i = new Intent(getApplicationContext(), FullImageActivity.class); 
    // passing array index 
    i.putExtra("id", position); 
    startActivity(i); 

然後在FullImageActivity你可以得到圖像的位置和顯示爲

// get intent data 
Intent i = getIntent(); 

// Selected image id 
int position = i.getExtras().getInt("id"); 
ImageAdapter imageAdapter = new ImageAdapter(this); 

ImageView imageView = (ImageView) findViewById(R.id.full_image_view); 
imageView.setImageResource(imageAdapter.mThumbIds[position]); 

對於您可以訪問下面詳細參考鏈接:
http://www.androidhive.info/2012/02/android-gridview-layout-tutorial/

相關問題