3

我目前正在为 Uni 开发我的第一个 Android 应用程序。我正在慢慢到达那里,但我被困在某个部分。

该课程作业需要一个独立于 UIthread 的线程。我的想法是用户可以在 Name_edit.java 中设置他们的名字,然后当他们去 board.java (不同的活动)时,两个文本视图现在显示输入的内容

在 Name_edit.xml 我有两个编辑文本。

在 board.java 我有两个文本视图(当前分别设置为 P1 和 P2)。在 OnCreate() 中,我目前正在处理一个处理程序,以从 (name_edit) 两个编辑文本中获取两个值并将其设置为文本视图。我相信这将需要两个处理程序(每个值一个)。在 board.java 中,我完成了标准的 findViewById。

有关处理程序和线程的任何帮助都会有所帮助。

我会发布我的处理程序代码,但它正在不断变化。我正在做的是

handler = new Handler() {
    public void handleMessage (Message msg) {
        TextViewP1.setText(msg)
    }
};

注意 msg 当前未设置为 name_edit 中的编辑文本

4

1 回答 1

1

你试过runOnUiThread()吗?UI 元素只能从 UI 线程更改,并且您的处理程序在其自己的线程上运行。

handler = new Handler() {
    public void handleMessage (Message msg) {
        ((Activity)context).runOnUiThread(new Runnable() {
            public void run() {
               TextViewP1.setText(msg);
            }
        });
    }
}

如果您的处理程序在您的 Activity 类中,context则可以替换为where 。[class name].this

文档: http: //developer.android.com/reference/android/app/Activity.html#runOnUiThread (java.lang.Runnable )

于 2013-01-06T18:57:45.350 回答