gpt4 book ai didi

android - EditText Int number 验证 ID 号 0-1000

转载 作者:行者123 更新时间:2023-11-29 22:44:06 24 4
gpt4 key购买 nike

我正在做作业,而且我已经很孤独了。我在应用程序中的下一步是 * 客户 ID 应介于 0-1000 之间。如果用户输入超过 1000 的任何值,则需要显示一条错误消息。

我不知道该怎么做。我正在观看视频并访问其他网站以查看是否有任何相似之处,但没有任何点击。到目前为止,这是我的代码。

String name, address;
int custID= 0;

EditText nameInput;
EditText addressInput;
EditText custIDInput;

Button submitButton;



@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

nameInput = this.<EditText>findViewById(R.id.NameeditText);
addressInput = this.<EditText>findViewById(R.id.addresseditText);
custIDInput = this.<EditText>findViewById(R.id.CustIDeditText);
submitButton = this.findViewById(R.id.SubmitButton);


submitButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) throws IndexOutOfBoundsException {


Intent i = new Intent(MainActivity.this, Customer.class);

name = nameInput.getText().toString();
address = addressInput.getText().toString();
custID = Integer.valueOf(custIDInput.getText().toString());
if(! custID > 0 && < 1000)
custIDInput.setError("Error Customer ID: enter number 1-1000");

i.putExtra("Value1", name);
i.putExtra("Value2", custID);
startActivity(i);
finish();

有人可以解释一下我做错了什么吗?有什么我需要进口的吗?谢谢!

最佳答案

那是因为你的条件语句一开始就不对。

您指定的条件说明:

Customer ID should be between 0-1000. If user enters any value above 1000, then you need to display an error message. (Emphasis is mine)

从本质上讲,这意味着只有当用户输入的值大于 1000 时才应显示错误消息。这将转换为以下(抽象的)代码:

if (input > 1000) {
// Show your error message here
}

可选地,如果输入有效,您还应该隐藏错误。这样一来,用户在输入有效输入时不会感到困惑,但仍会显示错误消息。这可以通过 else 语句来完成:

if (input > 1000) {
// Show your error message here
} else {
// Hide your error message here or do whatever you want
}

希望这对您有所帮助!

附言以下是根据您当前的代码进行调整后的代码:

// ...
if (custID > 1000) {
custIDInput.setError("Please enter a number between 0 and 1000");
} else {
// Hide the error message
custIDInput.setError(null);

i.putExtra("Value1", name);
i.putExtra("Value2", custID);
startActivity(i);
finish();
}

有关“关系运算符”(或条件运算符)含义的更多信息,请查看此 guide from Trinket on "Conditionals and Logic" .

关于android - EditText Int number 验证 ID 号 0-1000,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58703447/

24 4 0
文章推荐: MySql 立即创建函数解决方案
文章推荐: javascript - 侧边栏导航不适用于 Angular 和物化 css
文章推荐: mysql - 如何修复查询间隔中的语法错误?
文章推荐: php - 分解数据库值,然后通过选择