嘿开发者在那里
首先,所有这些都在Android Studio中 我有一个从可运行对象调用的处理程序:
private Runnable runnable = new Runnable() {
@Override
public void run() {
handler.postDelayed(this, 1000);
fight();
}
};
称为“ fight()”方法。此方法基本上应该做的是设置TextView的文本:
tv_playerdmg.setText(dmg);
在这一行,程序将引发“ ResourceNotFound”异常:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.alexander.rpg, PID: 31642
android.content.res.Resources$NotFoundException: String resource ID #0x8f5
at android.content.res.Resources.getText(Resources.java:1184)
at android.widget.TextView.setText(TextView.java:5218)
at com.example.alexander.rpg.Fight.fight(Fight.java:398)
at com.example.alexander.rpg.Fight$1.run(Fight.java:68)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6816)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1563)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1451)
我不知道为什么要这样做,另一方面,我正在更改处理程序中的按钮功能(如果是:D的话),这不会造成任何问题。
有人有主意吗?
问候白米饭
答案 0 :(得分:0)
我刚刚将“ dmg”更改为Integer.toString(dmg),这很好用。
答案 1 :(得分:0)
setText应该在ui线程上运行。如下所示:
runOnUiThread(new Runnable() {
@Override
public void run() {
fight();
}
});