gpt4 book ai didi

android - 当 EditText 为空时无法找出禁用按钮的代码

转载 作者:行者123 更新时间:2023-11-29 19:20:25 24 4
gpt4 key购买 nike

[已解决] 解决我问题的代码:

    editTextEasyResult.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {

}

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {

if(TextUtils.isEmpty(s.toString().trim()))
answerButtonEasy.setEnabled(false);
else
answerButtonEasy.setEnabled(true);
}

@Override
public void afterTextChanged(Editable s) {

}
});

.

问题:我正在开发一个基本的数学游戏,玩家必须通过像这样填写空白字段来求解简单的方程式:3 x 7 = __。如果空间为空,我希望禁用正确的按钮。造成这种情况的主要原因是,每次玩家尝试通过按 [CORRECT] 按钮来解决方程式时,如果没有输入数字,它就会停止工作/崩溃。所以我想通过强制玩家为 [CORRECT] 按钮添加一个可点击的数字,我可以防止这种情况发生。我已经尝试了一些东西,但到目前为止,这是我得到的最接近的工作方法(检查下面的代码),主要是因为它很简单并且适合我的其余编码。但是,它无法正常工作 - 随机禁用自身。

有什么建议吗?

 @Override
public void onClick(View v) {

switch(v.getId()){
case R.id.answerButtonEasy:
if (editTextEasyResult.getText().toString().length() == 0) {
answerButtonEasy.setEnabled(false);
}else{
answerButtonEasy.setEnabled(true);
int easyNum1 = Integer.parseInt(textEasyNumber1.getText().toString());
int easyNum2 = Integer.parseInt(textEasyNumber2.getText().toString());
int easyResult = Integer.parseInt(editTextEasyResult.getText().toString());
if (easyNum1 * easyNum2 == easyResult) {
for (int i = 1; i <= currentLevel; i++) {
currentScore = currentScore + i;
}//for-loop ends here
currentLevel++;
//Updates the Score and Level
textEasyScore.setText("Score: " + currentScore);
textEasyLevel.setText("Level: " + currentLevel);
Toast.makeText(getApplicationContext(), "Good job!", Toast.LENGTH_LONG).show();
editTextEasyResult.setText("");
} else {
currentScore = 0;
currentLevel = 0;
//Updates the Score and Level
textEasyScore.setText("Score: " + currentScore);
textEasyLevel.setText("Level: " + currentLevel);
Toast.makeText(getApplicationContext(), "Wrong! :(", Toast.LENGTH_LONG).show();
}
}
break;
}//switch ends here

最佳答案

如果 EditText 为空,一个简单的方法是禁用按钮,您可以通过将 TextWatcher 添加到您的 EditText 来实现:

            editTextEasyResult.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {

}

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {

if(TextUtils.isEmpty(s.toString().trim()))
answerButtonEasy.setEnabled(false);
else
answerButtonEasy.setEnabled(true);
}

@Override
public void afterTextChanged(Editable s) {

}
});

关于android - 当 EditText 为空时无法找出禁用按钮的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42647681/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com