显示消息时,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();
}
}
}
如果你调用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
我的问题嘿男人,谢谢我终于明白了! –
你可以试着做这样的事情:
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中设置图像以调用侦听器的某种方法。
所以,现在使用这个类,我怎么能实现它在我的活动或我应该怎么取代@Daniel RL –
让我看看你的活动 –
我添加的代码在上面 –
请显示您的当前代码并解释/显示您尝试的确切代码。 –
@KrzysztofBracha它是一个按钮时点击它调用validacionImagen(),以显示一些TextView,但我想显示它没有单击按钮,当imageview有图像显示那些TextView马上 –
但是,当imageview可以有一个图像?何时加载活动? –