Java 在runInUiThread中使用setText时出错
我需要一个线程,等待一段时间,然后改变文本视图中的文本。 我的搜索发现 我理解了第一个答案,并尝试在代码中使用它,但在线程中调用setText时出错 这是我的密码 (启动是按钮的onClick功能): 这是我的错误Java 在runInUiThread中使用setText时出错,java,android,android-studio,ui-thread,android-runonuithread,Java,Android,Android Studio,Ui Thread,Android Runonuithread,我需要一个线程,等待一段时间,然后改变文本视图中的文本。 我的搜索发现 我理解了第一个答案,并尝试在代码中使用它,但在线程中调用setText时出错 这是我的密码 (启动是按钮的onClick功能): 这是我的错误 09-26 20:26:34.054 22254-22254/com.horizon.testtimerthread E/AndroidRuntime: FATAL EXCEPTION: main
09-26 20:26:34.054 22254-22254/com.horizon.testtimerthread E/AndroidRuntime: FATAL EXCEPTION: main
android.content.res.Resources$NotFoundException: String resource ID #0x1
at android.content.res.Resources.getText(Resources.java:1058)
at android.support.v7.widget.ResourcesWrapper.getText(ResourcesWrapper.java:52)
at android.widget.TextView.setText(TextView.java:3866)
at com.horizon.testtimerthread.MainActivity$1$1.run(MainActivity.java:39)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:177)
at android.app.ActivityThread.main(ActivityThread.java:4947)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
at dalvik.system.NativeStart.main(Native Method)
提前感谢您的帮助。因为
i
有int类型,所以您正在调用setText(int-resourceId)
函数的变体,显然您不需要它setText(String.valueOf(i))
应该可以工作。因为i
有int类型,所以您调用的是setText(int-resourceId)
函数的变体,显然不是您想要的setText(String.valueOf(i))
应该可以工作。mText.setText((i))
就是问题所在
Android认为您正在引用一个字符串ID,并且正在崩溃,因为它找不到ID为1的字符串。如果要将文本设置为“1”、“2”等。。。然后写mText.setText((Integer.toString(i))
mText.setText((i))
就是问题所在
Android认为您正在引用一个字符串ID,并且正在崩溃,因为它找不到ID为1的字符串。如果要将文本设置为“1”、“2”等。。。然后写
mText.setText((Integer.toString(i))
我现在感觉好笨。是的,很有效,谢谢。不用担心;)将来你会用这个例子来说明你现在有多傻。是的,很有效,谢谢。不用担心;)将来你会用这个例子来说明你已经成长了多少
09-26 20:26:34.054 22254-22254/com.horizon.testtimerthread E/AndroidRuntime: FATAL EXCEPTION: main
android.content.res.Resources$NotFoundException: String resource ID #0x1
at android.content.res.Resources.getText(Resources.java:1058)
at android.support.v7.widget.ResourcesWrapper.getText(ResourcesWrapper.java:52)
at android.widget.TextView.setText(TextView.java:3866)
at com.horizon.testtimerthread.MainActivity$1$1.run(MainActivity.java:39)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:177)
at android.app.ActivityThread.main(ActivityThread.java:4947)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
at dalvik.system.NativeStart.main(Native Method)