java - Android Studio 中的条件问题
问题描述
我想检查 2 个编辑文本,如果其中一个是空的,则会出现 toast1 消息,如果它们相同,则会出现 toast2。toast1 确实有效。但是当它们相同或不同时,它显示 toast1 它仍然说其中一个是空的,有我的代码。我需要做什么?
devamButton = (Button) findViewById(R.id.devamButton);
takimA = (EditText) findViewById(R.id.takimAtext);
takimB = (EditText) findViewById(R.id.takimBtext);
textTakimA = takimA.getText().toString();
textTakimB = takimB.getText().toString();
devamButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (textTakimB.isEmpty() || textTakimA.isEmpty()) {
Toast toast1 = Toast.makeText(getApplicationContext(),"team name is empty", Toast.LENGTH_LONG);
toast1.show();
}
else if (textTakimA.equals(textTakimB)) {
Toast toast2 = Toast.makeText(getApplicationContext(),"cant be same", Toast.LENGTH_LONG);
toast2.show();
}
else {
Toast toast3 = Toast.makeText(getApplicationContext(),"No problem", Toast.LENGTH_LONG);
toast3.show();
}
解决方案
EditText
在单击devamButton
按钮时而不是之前获取文本。基本上移动这些行:
textTakimA = takimA.getText().toString();
textTakimB = takimB.getText().toString();
方法里面onClick
。这样,您将在需要时立即获得 EditTexts 内的文本。正如您所拥有的那样,您在用户甚至有机会输入任何内容之前检查它,因此它们都是空的。
推荐阅读
- symfony - 如何在 symfony phpunit kernelTestCase 中正确注入 monolog.logger / LoggerInterface 作为模拟
- python - 合并DataFrame中的行?
- css - 如何在离子中制作垂直范围滑块
- c++ - “使用”父类构造函数和在 C++ 中创建一个新的构造函数有什么区别?
- nhibernate - NHibernate 短路延迟加载从缓存中拉取
- sql-server - 调用 o898.save 时出错。Azure Synapse Analytics 连接器代码中遇到异常
- javascript - 使用 Webpack 转换和保存图片文件
- docker - Airflow DockerOperator,如何将卷添加到容器中
- r - R pdf() 设备使用 colormodel = "cmyk" 将颜色转换为不那么闪亮
- html - 如何使用 HTML CSS 在具有不同颜色和空间的文本下放置双线