1
我想繪製圖像視圖的複選標記,然後單擊並取消選中在使用以下代碼片段之前單擊的imageview。我將最後一次檢查的位置存儲在mDeviceAdapter中。當我嘗試取消選中舊位置時,即使是部分可見圖像視圖,圖像視圖也始終爲空。我真的很困惑,因爲我認爲只有看不見的東西被回收... Android中的新手和任何評論,讚賞。Android圖庫可見ImageView爲null?
public void CheckableImageView#setChecked(boolean checked) {
if (mChecked != checked) {
mChecked = checked;
invalidate();
}
}
mDeviceGallery.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
CheckableImageView viewToCheck = (CheckableImageView) view;
if (!viewToCheck.isChecked()) {
int oldCheckedPosition = mDeviceAdapter
.getCheckedPosition();
mDeviceAdapter.setCheckedPosition(position);
View checkedView = mDeviceGallery
.getChildAt(oldCheckedPosition);
Log.d(TAG, "old position="+oldCheckedPosition + "old view="+checkedView);
if (checkedView != null) {
((CheckableImageView) checkedView)
.setChecked(false);
Log.d(TAG, "uncheck position="
+ oldCheckedPosition);
}
viewToCheck.setChecked(true);