判斷ImageView當前的圖片是哪個圖片,然後比對資源文件的操作

描述一下需求:我們在點擊一個ImageView的時候進行,切換背景,或者是資源文件的時候,我們需要根據拿到的背景進行比對,(試了好幾種方法,總是出現一些小毛病)
例如:網上的某某人寫的這種:

if (image1.getDrawable().getCurrent().getConstantState().equals(getResources().getDrawable(R.drawable.A).getConstantState())){

              //當image1的src爲R.drawable.A時,設置image1的src爲R.drawable.B

              image1.setImageResource(R.drawable.B);

}else{

              //否則設置image1的src爲R.drawable.A

              image1.setImageResource(R.drawable.A);

}

顯然在5.0的設備上一點毛用都沒有。

比起比對資源文件,其實有一種更好的方法可以使用:設置相應的View的Tag,我們根據Tag的值去處理業務邏輯,筆記比較資源文件簡單的多!簡單貼一下代碼:

    <ImageView
                android:id="@+id/iv_al_remember_psw"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:tag="select"
                android:src="@drawable/select_rember_psw" />
if (ivAlRememberPsw.getTag().equals("select")) {
        TLog.d("沒有選擇");
        isRemeberPsw = false;
        ivAlRememberPsw.setTag("unSelect");
        ivAlRememberPsw.setImageResource(R.drawable.remeber_psw);

} else {
        TLog.d("進行記住");
        isRemeberPsw = true;
        ivAlRememberPsw.setTag("select");
        ivAlRememberPsw.setImageResource(R.drawable.select_rember_psw);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章