0
http://s107.photobucket.com/user/nguyenduydat274/media/onoff.png.html때/오프 이미지 끄기로에
아래의 스위치 버튼에서의 상태를 유지하는 방법 : 사용 안 함,리스트 뷰에 속으로
(온/오프) 상태를 유지 : 계속 물리게 (on/off)하고 lliseview를 활성화하십시오.
http://s107.photobucket.com/user/nguyenduydat274/media/onoff.png.html때/오프 이미지 끄기로에
아래의 스위치 버튼에서의 상태를 유지하는 방법 : 사용 안 함,리스트 뷰에 속으로
(온/오프) 상태를 유지 : 계속 물리게 (on/off)하고 lliseview를 활성화하십시오.
나는 내가 이해 한 것으로부터 작은 코드를 추가 할 것이다. 아이디어는 '모든 저장된 동영상'버튼을 켜거나 끌 때 목록보기가 활성화 및 비활성화되고 특정 영화의 상태를 유지해야합니다. 이제
public class UserSettingsMoviesAdapter extends BaseAdapter {
// Stores if the list is enabled or disabled. You need to update this
// value when the 'All saved movies' button is turned on or off.
private Boolean isListEnabled;
// This list will store if the movie is checked.
private List <Boolean> mArrChecked;
@Override
public boolean isEnabled(int position) {
if (isListEnabled) {
return true;
} else {
return false;
}
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
...
boolean isChecked = mArrChecked.get(position);
swOnOff.setChecked(isChecked);
swOnOff.setOnCheckedChangeListener(new OnCheckedChangeListener() {@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
mArrChecked.set(currentPos, isChecked);
notifyDataSetChanged();
}
});
...
}
}
활성화, 또는
isListEnabled
변수의 값을 변경해야합니다 전체 목록을 비활성화합니다. false를 반환하면
isEnabled()
은 각 항목에 대해 false를 반환하고 모든 항목은 목록보기에 의해 비활성화되지만 상태는 유지됩니다.
isListEnabled
값을 업데이트 한 후
notifyDataSetChanged()
으로 전화하십시오.
어디에서 영화를 가져 오나요? 앱의 어느 위치 에나 로컬로 저장 했습니까? –
예, 저는 API에서 영화를 가져 와서 로컬에 저장합니다. 감사. – NgDuyDat
데이터베이스에 로컬로 저장 한 경우 버튼의 상태를 저장하는 다른 필드를 추가하기 만하면됩니다. 항목을 활성화 또는 비활성화하려면 어댑터의 isEnabled (int position) 메서드에서 false를 반환해야합니다. –