Android 如何知道ImageView是否已更改?
我有一个Android Studio应用程序,它有一个可绘制的ImageView,然后我点击它,它会打开相机或画廊,你选择图片,然后ImageView会更改为用户选择的图片 我在“创建帐户”活动中使用它,当用户单击“创建帐户”按钮时,如果您没有填写所有字段,它会向您发送警告,但是,在ImageView中,我如何检查它是否有新图片? 我的代码是这样的:Android 如何知道ImageView是否已更改?,android,imageview,android-camera,drawable,Android,Imageview,Android Camera,Drawable,我有一个Android Studio应用程序,它有一个可绘制的ImageView,然后我点击它,它会打开相机或画廊,你选择图片,然后ImageView会更改为用户选择的图片 我在“创建帐户”活动中使用它,当用户单击“创建帐户”按钮时,如果您没有填写所有字段,它会向您发送警告,但是,在ImageView中,我如何检查它是否有新图片? 我的代码是这样的: btnCreateAccount.setOnClickListener(new View.OnClickListener() {
btnCreateAccount.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
name = editTextName.getText().toString().trim();
city = editTextCity.getText().toString().trim();
email = editTextEmail.getText().toString().trim();
password = editTextPassword.getText().toString().trim();
birthday = editTextBirthday.getText().toString().trim();
if (!email.isEmpty() && !name.isEmpty() && !password.isEmpty() && !birthday.isEmpty() && !city.isEmpty()) {
if (Here is supposed where i want to check if the imageView has changed)
{
Toast.makeText(CreateAccountActivity.this, "You havent choosed a image yet",
Toast.LENGTH_LONG).show();
}
Toast.makeText(CreateAccountActivity.this, "You filled up all the fields",
Toast.LENGTH_LONG).show();
} else {
Toast.makeText(CreateAccountActivity.this, "there are some fields unfilled",
Toast.LENGTH_LONG).show();
}
}
});
我不认为你真的想要。您要做的是检查用户是否选择了新图片。在“活动”中选择一个布尔值。在启动时将其设置为false。在imageView中更改可绘制图形时,请将其设置为true。然后只需检查您在if语句中选择的图片即可。我认为您实际上并不想这样做。您要做的是检查用户是否选择了新图片。在“活动”中选择一个布尔值。在启动时将其设置为false。在imageView中更改可绘制图形时,请将其设置为true。然后,只需在此处检查if语句中选择的图片。在用户选择图片之前,保存
图像视图的当前可绘制,并在onClick中比较旧图片与当前图片
在选择图像之前:
Drawable oldDrawable = imageView.getDrawable();
在onClick
方法中:
if (imageView.getDrawable() == oldDrawable)
{
Toast.makeText(CreateAccountActivity.this, "You havent choosed a image yet",
Toast.LENGTH_LONG).show();
}
您还可以使用imageView.getDrawable()==null
检查imageView是否事先没有任何附加图像在用户选择图片之前,保存imageView
的当前drawable
,并在onClick
中比较旧图像和当前图像
在选择图像之前:
Drawable oldDrawable = imageView.getDrawable();
在onClick
方法中:
if (imageView.getDrawable() == oldDrawable)
{
Toast.makeText(CreateAccountActivity.this, "You havent choosed a image yet",
Toast.LENGTH_LONG).show();
}
您还可以使用imageView.getDrawable()==null
检查imageView是否事先没有任何附加图像