Android EditText的问题,用了各种方法设置判断不为空。只要为空点确认还是闪退,熬到1点要哭了

Peyton_ 2017-12-13 01:05:54
输入数字正常处理
final EditText editText1 = (EditText)findViewById(R.id.ip_1);
final Button button1 = (Button)findViewById(R.id.btn_1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
s_value = Integer.parseInt(editText1.getText().toString());
s_value_string = editText1.getText().toString();
if(s_value_string.equals("")){ //s_value_string==null,s_value_string.length==0都试过了
Toast.makeText(getApplicationContext(),"输入不能为空或为0",Toast.LENGTH_SHORT).show();
return;//没有写return也试过了= =
} else{
... ...}

布局代码,限定输入Int数字
<EditText
android:id="@+id/ip_1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3"
android:inputType="number"
android:textSize="20sp"
android:maxLength="2" />
系统推荐大神全点了T^T
...全文
661 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Peyton_ 2017-12-13
  • 打赏
  • 举报
回复
引用 7 楼 cxz003 的回复:
你把 s_value = Integer.parseInt(editText1.getText().toString()); 这句放else里面
哇就是这样的!
Peyton_ 2017-12-13
  • 打赏
  • 举报
回复
大佬们!解决了。哇!把数字转换放在else里面,可是为什么条件不能用s_value_string==null?改成s_value_string.equals("")就过了!
Peyton_ 2017-12-13
  • 打赏
  • 举报
回复
引用 3 楼 qq1053781225 的回复:
错误贴出来啊,没错误堆栈不好分析 从代码看,应该把这句 s_value = Integer.parseInt(editText1.getText().toString()); 放在else里边做!不然你不输入内容时点击按钮,就挂了
放在里面还是挂了 button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //有限状态集个数 s_value_string = editText1.getText().toString(); if(s_value_string==null){ Toast.makeText(getApplicationContext(),"输入不能为空或为0",Toast.LENGTH_SHORT).show(); return; } else{ s_value = Integer.parseInt(editText1.getText().toString()); .... . ..}
  • 打赏
  • 举报
回复
你把 s_value = Integer.parseInt(editText1.getText().toString()); 这句放else里面
Peyton_ 2017-12-13
  • 打赏
  • 举报
回复
错误信息 哇 不知道贴对没有 FATAL EXCEPTION: main Process: com.example.guyun.fundamentals_of_compiling, PID: 2675 java.lang.NumberFormatException: For input string: "" at java.lang.Integer.parseInt(Integer.java:620) at java.lang.Integer.parseInt(Integer.java:643) at com.example.guyun.fundamentals_of_compiling.DFA_Activity$1.onClick(DFA_Activity.java:43) at android.view.View.performClick(View.java:6256) at android.view.View$PerformClick.run(View.java:24701) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Peyton_ 2017-12-13
  • 打赏
  • 举报
回复
引用 1 楼 f839903061 的回复:
1.你把logcat贴出了 2.你在字符串转换数字前,先判断一下edittext里面是不是为空
马上贴
Peyton_ 2017-12-13
  • 打赏
  • 举报
回复
引用 2 楼 r00_a2lBUR 的回复:
执行到哪一句时闪退?
就是我不输入直接确认闪退的
apples_kk 2017-12-13
  • 打赏
  • 举报
回复
错误贴出来啊,没错误堆栈不好分析 从代码看,应该把这句 s_value = Integer.parseInt(editText1.getText().toString()); 放在else里边做!不然你不输入内容时点击按钮,就挂了
r00_a2lBUR 2017-12-13
  • 打赏
  • 举报
回复
执行到哪一句时闪退?
雨焰 2017-12-13
  • 打赏
  • 举报
回复
1.你把logcat贴出了 2.你在字符串转换数字前,先判断一下edittext里面是不是为空

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧