2014-02-06 74 views
1
mGridView.setOnItemClickListener(new OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> gridView, View view, 
      int pos, long id) { 

     AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
     builder.setView(view); 
     builder.create().show();   

    } 
}); 

當我嘗試運行此代碼後,我點擊一個項目,我得到一個異常:如何在AlertDialog中的GridView中顯示圖像?

enter image description here

我不想從其父刪除視圖。我只想在AlertDialog中顯示圖像。有人可以給我一個提示如何做到這一點?

回答

1

試試這個...

mGridView.setOnItemClickListener(new OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> gridView, View view, 
       int pos, long id) { 
      AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
      ImageView imageView = new ImageView(gridView.getContext()); 
      imageView.setScaleType(ImageView.ScaleType.CENTER); 
      view.setDrawingCacheEnabled(true); 
      view.buildDrawingCache(); 
      Bitmap bitmap = view.getDrawingCache(); 
      imageView.setImageBitmap(bitmap); 
      builder.setView(imageView); 
      builder.create().show(); 
     } 
    }); 
0

如果你只是想顯示圖像,然後您可以設置

builder .setIcon(R.drawable.ic_launcher); 

那麼你不需要的setView。

所以刪除此行:

builder.setView(view);