我目前正在为大学制作我的第一个安卓应用程序。虽然我慢慢接近成功,但我卡在某个地方了。
课程作业要求使用与UI线程不同的单独线程。我的想法是用户可以在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的edittext。
TextViewP1
声明为final
吗?或者你可以将它声明为全局变量。 - shanetName_edit.java
是用户输入姓名的一个活动。当用户完成输入后,Board.java
是另一个活动,用于显示这些姓名,对吗?如果是这样,Board
活动会启动Name_edit
活动吗?如果是这样,我认为最好使用startActivityForResult()
并将姓名作为数组或 bundle 发送回 Board 活动,而不是使用 handlers。这样说通了吗? - shanetintent.putExtra()
使用Intent传递自定义数据。否则,根据你从哪里调用startActivity()
来启动Name_edit
活动,你可以将该调用更改为startActivityForResult()
,然后在你的Board
活动中重写onActivityResult()
以使用setResult()
设置作为Name_edit
活动结果设置的玩家名称。在Android文档中查找这些函数以获取更多信息。 - shanet