2017-07-19 79 views
0

我向Camera2Fragement类添加一个新图像以在警报对话框中显示位图图像,但我只在没有任何图像的情况下获得空对话框。我究竟做错了什么。它与我们无法将图像上传到图像视图或其他问题的片段有关。这里是我的代码:在片段中的警告对话框中显示位图图像

public void onClick(View view) { 
     switch (view.getId()) { 
      case R.id.picture: { 
       takePicture(); 
       break; 
      } 
      case R.id.info: { 
       Activity activity = getActivity(); 
       if (null != activity) { 
        new AlertDialog.Builder(activity) 
          .setMessage(R.string.intro_message) 
          .setPositiveButton(android.R.string.ok, null) 
          .show(); 
       } 
       break; 
      } 
      case R.id.result: { // added code 
       Activity activity = getActivity(); 
       if (null != activity) { 

        view = View.inflate(activity, R.layout.dialog_layout, null); 

        ImageView imgRefInflated = (ImageView) view.findViewById(R.id.dialog_imageview); 

        Picasso.with(activity).load("/mnt/sdcard/DCIM/mResultImg.jpg").into(imgRefInflated); 
        //imgRefInflated.setImageBitmap(BitmapFactory.decodeFile("/mnt/sdcard/DCIM/mResultImg.jpg")); 
        Log.d(TAG, "I can reach here"); 


        AlertDialog.Builder builder = new AlertDialog.Builder(activity); 

        builder.setNegativeButton("Close", new DialogInterface.OnClickListener() { 
         @Override 
         public void onClick(DialogInterface dialog, int which) { 
          dialog.dismiss(); 
         } 
        }); 

        AlertDialog dialog = builder.create(); 
        dialog.setView(view); 
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
        dialog.show(); 

       } 
       break; 
      } 
     } 
    } 

回答

0

您正尝试将图像设置为AlertDialog内部的ImageView,但未显示。 Rearange你这样的代码:

view = View.inflate(activity, R.layout.dialog_layout, activity); 

AlertDialog dialog = new AlertDialog.Builder(this) 
     .setNegativeButton("Close", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       dialog.dismiss(); 
      } 
     }) 
     .setView(view) 
     .create(); 
dialog.show(); 
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 

ImageView imgRefInflated = (ImageView) view.findViewById(R.id.dialog_imageview); 
Picasso.with(activity).load("/mnt/sdcard/DCIM/mResultImg.jpg").into(imgRefInflated); 
+0

谢谢您的回答。我试了你的答案,但仍然没有奏效。 @Artyom Dorosh – Nani

+0

@Nani好像是从内部存储加载数据。你有权访问内部存储?看起来你正在使用不正确的路径来图像。 –

+0

谢谢,它使用时,我设置图像:imgRefInflated.setImageBitmap(result); – Nani