的Integer.parseInt力关闭我的Android应用程序,关闭

问题描述:

这里是我的原代码:的Integer.parseInt力关闭我的Android应用程序,关闭

final EditText t1 = (EditText)findViewById(R.id.editText1); 
int a = Integer.parseInt(t1.getText().toString()); 

现在有了这个代码,我得到强制关闭,当我在模拟器上运行。

所以我把它serperated这个

String s = t1.getText().toString(); 

一切进展正常,但是当我将其更改为:

String s = t1.getText().toString(); 
int a = Integer.parseInt(s); 

然后再次发力关闭。

编辑:

我有这样的一个按钮,点击收听代码:

button.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View v) 
     { 
      int a = 0; 
      int b = 0; 
      try 
      { 
       a = Integer.parseInt(t1.getText().toString()); 
       b = Integer.parseInt(t2.getText().toString()); 
      } 
      catch(NumberFormatException e) 
      { 
       alert.show(); 
      } 


     } 
    }); 

但是,当我把它,它正确地捕捉到了异常。给我一分钟,生病logcat。

07-26 07:54:14.360: ERROR/AndroidRuntime(711): FATAL EXCEPTION: main 
07-26 07:54:14.360: ERROR/AndroidRuntime(711): android.content.res.Resources$NotFoundException: String resource ID #0x7 
07-26 07:54:14.360: ERROR/AndroidRuntime(711):  at android.content.res.Resources.getText(Resources.java:201) 
07-26 07:54:14.360: ERROR/AndroidRuntime(711):  at android.widget.TextView.setText(TextView.java:2857) 
07-26 07:54:14.360: ERROR/AndroidRuntime(711):  at com.testing.test2.Test2Activity$1.onClick(Test2Activity.java:47) 
07-26 07:54:14.360: ERROR/AndroidRuntime(711):  at android.view.View.performClick(View.java:2485) 
07-26 07:54:14.360: ERROR/AndroidRuntime(711):  at android.view.View$PerformClick.run(View.java:9080) 
07-26 07:54:14.360: ERROR/AndroidRuntime(711):  at android.os.Handler.handleCallback(Handler.java:587) 
07-26 07:54:14.360: ERROR/AndroidRuntime(711):  at android.os.Handler.dispatchMessage(Handler.java:92) 
07-26 07:54:14.360: ERROR/AndroidRuntime(711):  at android.os.Looper.loop(Looper.java:123) 
07-26 07:54:14.360: ERROR/AndroidRuntime(711):  at android.app.ActivityThread.main(ActivityThread.java:3683) 
07-26 07:54:14.360: ERROR/AndroidRuntime(711):  at java.lang.reflect.Method.invokeNative(Native Method) 
07-26 07:54:14.360: ERROR/AndroidRuntime(711):  at java.lang.reflect.Method.invoke(Method.java:507) 
07-26 07:54:14.360: ERROR/AndroidRuntime(711):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
07-26 07:54:14.360: ERROR/AndroidRuntime(711):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
07-26 07:54:14.360: ERROR/AndroidRuntime(711):  at dalvik.system.NativeStart.main(Native Method) 
07-26 07:54:14.430: WARN/ActivityManager(68): Force finishing activity com.testing.test2/.Test2Activity 
07-26 07:54:14.940: WARN/ActivityManager(68): Activity pause timeout for HistoryRecord{405e8368 com.testing.test2/.Test2Activity} 
07-26 07:54:16.349: INFO/Process(711): Sending signal. PID: 711 SIG: 9 
07-26 07:54:16.389: INFO/ActivityManager(68): Process com.testing.test2 (pid 711) has died. 
07-26 07:54:16.399: INFO/WindowManager(68): WIN DEATH: Window{407013e0 com.testing.test2/com.testing.test2.Test2Activity paused=false} 
07-26 07:54:16.689: WARN/InputManagerService(68): Got RemoteException sending setActive(false) notification to pid 711 uid 10035 
07-26 07:54:21.599: DEBUG/dalvikvm(258): GC_EXPLICIT freed 6K, 54% free 2597K/5639K, external 410K/517K, paused 76ms 
07-26 07:54:26.650: DEBUG/dalvikvm(303): GC_EXPLICIT freed 6K, 54% free 2544K/5511K, external 410K/517K, paused 100ms 
07-26 07:54:31.640: DEBUG/dalvikvm(315): GC_EXPLICIT freed 1K, 54% free 2538K/5511K, external 410K/517K, paused 72ms 
+3

您是否尝试捕获NumberFormatException? – Jacob

+0

是的,我试着放在一个尝试... catch语句捕获相同的异常,并弹出一个警告窗口,但没有发生,只是抛出的力量关闭 – bavman

+1

你可以显示logcat消息 –

,你应该只给整数范围内的数字,NumberFormatException的来找字符或特殊字符,

+0

尝试一下,并给予反馈 – Abhi

+0

是的,我一直在使用简单的数字来测试,如5,4,等 – bavman

+0

从你得到t2?首先初始化T2为T1 – Abhi

这意味着用户没有在文本字段中输入数字。 但这不是你在堆栈跟踪中显示的错误。它表明您最后生成的R.java文件与引用资源ID的代码之间存在不匹配。完全重新编译你的应用程序来修复它。

检查XML文件是否正确输入的EditText id作为editText1

之所以获得其强制关闭:

android.content.res.Resources$NotFoundException: String resource ID #0x7在日志说,你有一些未知的String资源...

请在values文件夹中检查您的string.xml文件。

+0

我在我的string.xml文件中的唯一字符串为“APP_NAME”我不认为那里有什么错 Test2的 bavman

+0

清洁和构建项目..如果你使用的是eclipse,那么去:Project - > Clean .... –