如何解决其他Edittext更改时更新Edittext
我正在尝试根据其他var bCrypt = require('bcrypt');
const { reject } = require('bcrypt/promises');
const { resolveInclude } = require('ejs');
const passport = require('passport');
module.exports = function(passport,user){
var User = user;
var LocalStrategy = require('passport-local').Strategy;
//Login session
passport.use('local-signin',new LocalStrategy(
{
usernameField: 'email',passwordField: 'password',passReqToCallback: true
},function(req,email,password,done) {
var User = user;
var isValidPassword = async function(userpass,password) {
return bCrypt.compareSync(password,userpass);
}
User.findOne({
where: {
email: email
}
}).then(function(user) {
if (!user) {
return done(null,false,{
message: 'Email does not exist'
});
}
if (!isValidPassword(user.password,password)) {
return done(null,{
message: 'Incorrect password.'
});
}
var userinfo = user.get();
return done(null,userinfo);
}).catch(function(err) {
console.log("Error:",err);
return done(null,{
message: 'Something went wrong with your Signin'
});
});
}
));
//serialize
passport.serializeUser(function(user,done){
done(null,user.id);
});
//deserialize
passport.deserializeUser(function(id,done){
User.findByPk(id).then(function(user){
if(user){
done(null,user.get());
} else {
done(user.errors,null);
}
});
更新单个EditText
。出于某种原因,一切正常,直到必须设置文本,然后我才能得到连续的错误列表。我似乎无法找出原因或最佳实践。任何帮助,将不胜感激。如果我将文本的设置注释掉。我的应用程序运行正常。这是我的代码:
EditTexts
它重复了很长时间,以至于错误的开始都被切断了。该应用的外观如下:
解决方法
您检查值是否为空是错误的。
- 将
boolean[] hasValue = {false}
替换为boolean hasValue = true
。 - 相反,
for (final Double db : values) {
hasValue[0] = db != null;
}
使用此:
for (final Double db : values) {
if (db == null) {
hasValue = false;
break;
}
}
这是因为在原始版本中,您将hasValue编辑为仅依赖于值的最后一个元素。
此外,在total = ...
行中,您使用了values.get(0)-values.get(0)
。这引起了我的好奇。
您的问题是,您还将total
添加到列表中。这就是为什么total也会同时获得Listener的原因。
在自己的侦听器中设置EditText的文本会产生无限循环。
删除此行
editTexts.add(Total); // editTexts[8]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。