为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用按钮覆盖 TextView 中的文本?

如何使用按钮覆盖 TextView 中的文本?

慕后森 2022-11-10 16:53:45
我正在开发一个使用数组随机生成密码的应用程序。密码在 TextView 中。除非我想第二次生成新密码,否则一切都很好。如何从 TextView 中“删除”旧文本(密码)并使用相同的按钮将其替换为新文本?以下是我正在使用的变量:EditText dlugosc;String haslo = "";String pustak = "";TextView haslo0;这是我用来生成密码的代码:(znaki 是数组的名称)dlugosc = findViewById(R.id.password_len);haslo0 = findViewById(R.id.password);String yui = dlugosc.getText().toString();int x = Integer.parseInt(yui);for(int i = 0; i < x; i++){    int Index = generator.nextInt(znaki.length);    haslo = znaki[Index] + haslo;}我已经尝试过做一个 if 结构:if (haslo0 != null){   haslo0.setText(pustak);   haslo0.setText(haslo);}else   haslo0.setText(haslo);但这无济于事:(当我想在密码中有 7 个字符并第一次单击按钮时,结果是正确的,例如PKAjzQL。但是当我第二次单击该按钮时,结果是nBzcRjQPKAjzQL而不是nBzcRjQ。
查看完整描述

3 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

你为什么要在新生成的字符串后面附加旧字符串 haslohaslo = znaki[Index] + haslo; 可能这就是为什么你会得到这样的输出。您能否尝试将新生成的密码设置到文本视图中,例如 haslo = znaki[Index];

然后尝试使用在文本视图中设置文本haslo0.setText(haslo);


查看完整回答
反对 回复 2022-11-10
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

如何从 TextView 中“删除”旧文本(密码)并使用相同的按钮将其替换为新文本?

问题不在于“删除”旧文本,问题在于您必须清除列表,例如,每次用户单击Button您清除列表时执行 : znaki.clear(),那么它只会显示生成的新密码。

如果你看到你的输出:

第一个输出:

PKAjzQL --> 这是正确的

第二个输出:

nBzcRjQPKAjzQL --> 这是新输出+旧输出


查看完整回答
反对 回复 2022-11-10
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

你能给出 OnClickButton 的代码吗?为什么在单击时使用不同的字符串设置相同的 TextView?


 haslo0.setText(pustak);

 haslo0.setText(haslo);

?


查看完整回答
反对 回复 2022-11-10
  • 3 回答
  • 0 关注
  • 99 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号