我有一個應用程序,我使用SwitchCompat來啓用和禁用功能。我正在使用setOnCheckedChangeListener()來啓用和禁用功能爲此,我正在使用isChecked
來檢查開關是啓用還是禁用。條件工作正常,但在我的情況下,它永遠不會落在其他條件。SwitchCompat setOnCheckedChangeListener()在android中不工作?
代碼: -
listViewHolder.switchCompat.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(final CompoundButton buttonView, final boolean isChecked) {
if (isChecked) {
new AlertDialog.Builder(mContext, R.style.AppCompatAlertDialogStyle).setTitle("Warning").setMessage("
@Override
public void onClick(DialogInterface dialog, int which) {
//Adding items in Dataset
AllAppList appList = listStorage.get(position);
whiteListModel.setName(appList.getName());
whiteListModel.setPackName(appList.getPackName());
existingDataSet.add(whiteListModel);
saveScoreListToSharedpreference(existingDataSet);
//Notifying adapter data has been changed.....
notifyDataSetChanged();
listViewHolder.switchCompat.setChecked(false);
}
}).setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
listViewHolder.switchCompat.setChecked(false);
}
}).show();
} else {
Toast.makeText(mContext, "Removed", Toast.LENGTH_LONG).show();
existingDataSet.remove(position);
saveScoreListToSharedpreference(existingDataSet);
notifyDataSetChanged();
}
}
我覺得問題是你做了isCheck變量final和final變量初始化一次,其值不會再改變,所以刪除final再試一次。 –
可能重複的[SwitchCompat按鈕不工作在Android?](https://stackoverflow.com/questions/45274385/switchcompat-button-is-not-working-in-android) – Sufian