ImageViewにonImageChangedListener()はありますか?ImageView onImageChangedListener Android
イメージがImageViewから変更されたときにイベントが必要です。
ImageViewにonImageChangedListener()はありますか?ImageView onImageChangedListener Android
イメージがImageViewから変更されたときにイベントが必要です。
grepcodeでImageViewのコードを確認してください。変更または再描画されたときはわかりません。これは、setImageDrawable()を実行すると、イメージビューが無効になるためです。この時点では、オンドローが呼び出されるまでイメージは正しく変更されません。
とにかく、なぜあなたはonimagechangedlistenerを知りたいですか?
そこには、デフォルトのリスナーが... Androidのではありませんが、我々は.. imagechangeのlistinerを作成するクラスをコピーして、ImageViewの使用MyImageViewを使用することができます。..
public class MyImageView extends ImageView {
private OnImageChangeListiner onImageChangeListiner;
public MyImageView(Context context) {
super(context);
}
public MyImageView(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
}
public void setImageChangeListiner(
OnImageChangeListiner onImageChangeListiner) {
this.onImageChangeListiner = onImageChangeListiner;
}
@Override
public void setBackgroundResource(int resid) {
super.setBackgroundResource(resid);
if (onImageChangeListiner != null)
onImageChangeListiner.imageChangedinView(this);
}
@Override
public void setBackgroundDrawable(Drawable background) {
super.setBackgroundDrawable(background);
if (onImageChangeListiner != null)
onImageChangeListiner.imageChangedinView(this);
}
public static interface OnImageChangeListiner {
public void imageChangedinView(ImageView mImageView);
}
}
ネットワークからイメージをロードし、イメージビューの変更をチェックする場合は、imageView.isAttachedToWindow()を使用できます。私はネットワークから画像をダウンロードしようとしましたが、画像がダウンロードされてウィンドウに添付された後、プログレスバーは無効になりました。 使用、
if(imageView.isAttachedToWindow()){
//your code here
}
画像はどのように変更されますか? – Simon
イメージはカメラまたはSDCardから選択してonButtonClickに変更されます。 – Naskov
イメージをどのように変更していますか? setImageBitmap? setImageDrawable?その他? – Simon