显示消息时,imageview不empy没有点击一个按钮

问题描述:

我有一个按钮来选择一张图片或从相机拍摄的图片,我想要的是,当我用来附加图片imageview有一个图像 。,立即显示一条消息,不需要点击按钮显示消息时,imageview不empy没有点击一个按钮

我现在所做的是当你按下一个按钮,然后显示一些隐藏的编辑文本,说“图片上传”或什么的。我想实现这一点,但没有点击任何按钮。 我已经尝试了很多其他选项,但他们都使用一个按钮。

任何样品或想法! 在此先感谢

bb.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      validacionImagen(); 
    } 
}); 

方法验证WHETER有一个附加的图像:

 public void validacionImagen(){ 
    if(imageView.getDrawable()==null){ 
     buttonChoose.setError("Sube una fotografía"); 
     buttonChoose.setFocusable(true); 
     buttonChoose.setFocusableInTouchMode(true); 
     buttonChoose.requestFocus(); 
    }else{ 
     imagencargada.setVisibility(View.VISIBLE); 
     textoimagencargada.setVisibility(View.VISIBLE); 
     buttonChoose.setError(null); 

    } 
} 

图片码:

private void showFileChooser() { 
    Intent intent = new Intent(); 
    intent.setType("image/*"); 
    intent.setAction(Intent.ACTION_GET_CONTENT); 
    startActivityForResult(Intent.createChooser(intent, "Elige una imagen"), PICK_IMAGE_REQUEST); 
} 

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    if(requestCode == CAM_REQUEST){ 
     Bitmap bitmap = (Bitmap) data.getExtras().get("data"); 
     filePath = data.getData(); 
     try { 
      bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), filePath); 
      imageView.setImageBitmap(bitmap); 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     //imageView.setImageBitmap(bitmap); 
    }else if (requestCode == PICK_IMAGE_REQUEST && resultCode == Activity.RESULT_OK && data != null && data.getData() != null) { 
     filePath = data.getData(); 
     try { 
      bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), filePath); 
      imageView.setImageBitmap(bitmap); 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 
+0

请显示您的当前代码并解释/显示您尝试的确切代码。 –

+0

@KrzysztofBracha它是一个按钮时点击它调用validacionImagen(),以显示一些TextView,但我想显示它没有单击按钮,当imageview有图像显示那些TextView马上 –

+0

但是,当imageview可以有一个图像?何时加载活动? –

如果你调用startActivityForResult,以获得从相机或画廊喜欢的图片:

startActivityForResult(pictureIntent, SELECT_PICTURE); 

然后,您可以覆盖onActivityResult检查从意图的结果。

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    switch(requestCode) { 
     case SELECT_PICTURE: 
      if(resultCode == RESULT_OK && data != null) { 
       //Manage the picture taken here with data 
      } else { 
       //The intent was cancelled or didn't bring any data 
      } 
    } 
} 

现在,如果这是不是你正在寻找的办法,所有你想要做的是检查时ImageView的改变,可以实现向监听器自定义ImageView的。请参阅this

+0

我的问题嘿男人,谢谢我终于明白了! –

你可以试着做这样的事情:

public class ImageView extends ImageView { 

    private OnImageChangeListener onImageChangeListener; 

    public ImageView(Context context) { 
     super(context); 
    } 

    public ImageView(Context context, @Nullable AttributeSet attrs) { 
     super(context, attrs); 
    } 

    public ImageView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { 
     super(context, attrs, defStyleAttr); 
    } 

    public void setImageChangeListiner(
      OnImageChangeListener onImageChangeListener) { 
     this.onImageChangeListener = onImageChangeListener; 
    } 

    @Override 
    public void setBackgroundResource(int resid) { 
     super.setBackgroundResource(resid); 
     if (onImageChangeListener != null) 
      onImageChangeListener.onImageChanged(this); 
    } 


    @Override 
    public void setBackgroundDrawable(Drawable background) { 
     super.setBackgroundDrawable(background); 
     if (onImageChangeListener != null) 
      onImageChangeListener.onImageChanged(this); 
    } 


    public interface OnImageChangeListener { 
     void onImageChanged(ImageView imageView); 
    } 

} 

使用侦听器创建自定义ImageView以在设置图像时通知您并且重写您用于在ImageView中设置图像以调用侦听器的某种方法。

+0

所以,现在使用这个类,我怎么能实现它在我的活动或我应该怎么取代@Daniel RL –

+0

让我看看你的活动 –

+0

我添加的代码在上面 –