Integer.parseInt强制关闭我的android应用程序以关闭

Integer.parseInt强制关闭我的android应用程序以关闭,android,Android,这是我的原始代码: final EditText t1 = (EditText)findViewById(R.id.editText1); int a = Integer.parseInt(t1.getText().toString()); 现在有了这段代码,当我在emulator上运行时,我得到了force close 所以我把它做成了这个 String s = t1.getText().toString(); 一切正常,但当我将其更改为: String s = t1.getText().

这是我的原始代码:

final EditText t1 = (EditText)findViewById(R.id.editText1);
int a = Integer.parseInt(t1.getText().toString());
现在有了这段代码,当我在emulator上运行时,我得到了force close

所以我把它做成了这个

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();
            }


        }
    });
但是当我取出它时,它确实正确地捕获了异常。给我一分钟,我去拿日志

    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

您应该只提供整数范围的数字,字符或特殊字符将出现NumberFormatException,

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

检查xml文件是否正确地将EditText id输入为editText1

强制关闭的原因:


android.content.res.Resources$NotFoundException:日志中的字符串资源ID#0x7
表示您有一些未知的
String
资源


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

是否尝试捕获NumberFormatException?是的,我尝试输入一个try…catch语句,该语句捕获相同的异常并弹出一个警报窗口,但没有发生,只需抛出force closeandroid.content.res.Resources$NotFoundException:String resource ID#0x7,日志中表示您有一些未知的字符串资源。。。请检查values文件夹中的string.xml文件。是的,我一直在使用简单的数字进行测试,例如5、4等,从哪里得到t2?首先将t2初始化为t1我在string.xml文件中唯一的字符串是“app_name”,我认为它没有任何问题Test2 Clean and build your project。。如果您使用的是eclipse,那么就转到:Project->Clean。。。。