我的android程序中有两个挑战,如下所示,请帮助我。
2.在MainActivity中我有一个EditText。我按下的每个字母都设置为通过蓝牙Socket传输,通过蓝牙StreamCOnnection到达PC。
因此,我需要获取我在EditText中输入的每个字母(单个字符),存储在char变量中。 (它还应该考虑退格按钮,这意味着没有输入任何字母。)
当用户在EditText中键入字母时,在MainActivity中初始化char变量(单个字母),并且正在运行的线程“A”将获取并将char变量的值发送到socket outputstream并清除char变量,以便可以存储新输入的字母以用于后续的套接字流发送。
因此我对第2点的问题是,如何在考虑退格键的情况下获取EditBox的最后一个类型字符。
我用Google搜索了很多内容并提到了类似帖子(Link1)& Link2,但我无法成功实施。
(PS:我很抱歉我写了详细信息,而不是粘贴Snippets,因为我的程序有点大,可能会混淆我的正确问题)
答案 0 :(得分:1)
1)finish()是Activity对象的一个函数。如果线程是活动的子类,它可能会失败。如果Thread有对Activity的引用,它可以调用activityReference.finish()。 Finish()是以编程方式结束活动的唯一方法。
2)使用TextWatcher并将其添加到EditText。只要输入一个字符,这就会告诉你。您可以弄清楚新数据是什么并进行处理。
答案 1 :(得分:1)
我的建议是:
1)如果满足条件,则使用Handler对UI线程进行回调。从那里,你可以调用finish()方法。
2)我将在onKeyListener上实现Edittext。在那个听众中,你可以听到你想要的任何按键(字符或其他)。
希望有所帮助。