我有一个程序,该程序创建待办事项列表,允许用户设置应用程序的日期/时间以通知他们有关该操作的信息。有一个复选框,上面写着“通知我”,可以安排通知时间。但是,在列表的主RecyclerView中,还有一个切换开关,允许用户在保存通知后关闭/打开该通知。问题是,拨动开关似乎并未更改通知状态。
holder.notifSwitch.setChecked(journalModel.isNotify());
if(journalModel.getJournalDateNotify().getTime() > System.currentTimeMillis())
{
holder.notifSwitch.setVisibility(View.VISIBLE);
} else {
holder.notifSwitch.setVisibility(View.INVISIBLE);
}
holder.notifSwitch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!journalModel.isNotify())
{
createJournalFunction.updateJournal(realm, journalModel.getRealmJournalNo(),true);
} else
{
createJournalFunction.updateJournal(realm, journalModel.getRealmJournalNo(), false);
}
}
});
这是用于更新Realm对象的代码:
public boolean updateJournal (Realm realm, final int realmJournalNo, final boolean isNotify){
success = false;
try{
realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
final TblJournal tblJournal = realm.where(TblJournal.class).equalTo("realmJournalNo", realmJournalNo).findFirst();
tblJournal.setNotify(isNotify);
success = true;
}
});
}catch (RealmException e){
Log.i("INFO","update Retail Exception: "+e.toString());
success = false;
}finally {
return success;
}
}
答案 0 :(得分:0)
根据您的代码,您点击时不会更新journalModel.isNotify= true
或false
。 journalModel.setIsNotify(true):/journalModel.setIsNotify(false):
答案 1 :(得分:0)
holder.notifSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
// status="true"; //edit here
switch_btn.setChecked(true);
} else {
// status="false"; //edit here
switch_btn.setChecked(false);
}
}
});
答案 2 :(得分:0)
一切都很好,您只需要修改python3 manage.py migrate
方法即可。
onClick