我希望能够在按下按钮时检查ImageView
是否包含图像。我的ImageView
被CardView
包围。
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:id="@+id/cardViewAE"
app:cardCornerRadius="8dp"
app:cardElevation="0dp">
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="200sp"
android:scaleType="centerCrop"
android:background="@color/colorIV"
/>
</android.support.v7.widget.CardView>
我已在主java类中正确声明了imageView。
ImageView flyerImageView;
flyerImageView = (ImageView) findViewById(R.id.imageView);
我做一个if语句来检查imageView是否为null,但是,即使imageView中没有图像,它也不会执行if语句中的代码。
submitBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
TextView errorLabel = (TextView)findViewById(R.id.errorTV);
if (flyerImageView.getDrawable() == null){
errorLabel.setText("You forgot to choose your event flyer.");
}
}
答案 0 :(得分:1)
boolean ishaveImage = (imageView.getDrawable() != null);
if (ishaveImage) {
// image available
} else {
// no image available
}
答案 1 :(得分:0)
试试这个
publie static boolean hasNullOrEmptyDrawable(ImageView iv)
{
Drawable drawable = iv.getDrawable();
BitmapDrawable bitmapDrawable ;
if(drawable!=null)
bitmapDrawable= drawable instanceof BitmapDrawable ? (BitmapDrawable)drawable : null;
return drawable==null || bitmapDrawable == null || bitmapDrawable.getBitmap() == null;
}