gpt4 book ai didi

android - 单击带有空editText的按钮会导致应用程序崩溃

转载 作者:行者123 更新时间:2023-12-03 16:35:24 26 4
gpt4 key购买 nike

btnNadoplata.setOnClickListener(new View.OnClickListener()

{
public void onClick(View v)
{
long inputValue1 = Long.parseLong(text1.getText().toString());
String encodedHash = Uri.encode("#");

if (text1.getText().length() == 14 ) {

startActivity(new Intent("android.intent.action.CALL", Uri.parse("tel:*123*" + inputValue1 + encodedHash)));
}else {

Toast.makeText(bonbon.this, "Krivi kod. Unesi 14-znamenkasti kod sa bona!", Toast.LENGTH_SHORT).show();

}
}
});

我有一个editText,这时用户需要输入一个number14位数字。如果数字小于或大于14位,则当用户单击按钮时,他会收到消息说输入不正确。问题是当editText为空,并且用户单击按钮时,应用程序崩溃。我该如何更改,因此,如果editText为空,用户会从上述代码部分获取消息?

对不起,我的英语不好。

最佳答案

它可能在此行崩溃:

long inputValue1 = Long.parseLong(text1.getText().toString());

实际上,如果您在EditText的 text1中有一个空字符串,则函数 parseLong()将引发 NumberFormatException异常。

在继续之前,您应该测试 text1文本的值:
public void onClick(View v) 
{
if (text1.getText().toString().compareTo("") == 0)
{
long inputValue1 = Long.parseLong(text1.getText().toString());
String encodedHash = Uri.encode("#");
...

或者,您可以添加 try/catch指令来捕获 Long.parseLong()引发的异常。
public void onClick(View v) 
{
try
{
long inputValue1 = Long.parseLong(text1.getText().toString());
String encodedHash = Uri.encode("#");
...
}
catch (NumberFormatException nfe)
{
...
}

关于android - 单击带有空editText的按钮会导致应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6962859/

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