我有一个带有多个TextBox的应用程序,其中为了确定要写入哪个TextBox(我的微控制器正在发送要写入的数据),我将一个字符串作为前缀附加到应在TextBox中设置的任何内容。根据收到的字符串,我将文本框设置如下-
BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String text = intent.getStringExtra("");
messages.append(text);
if(messages.toString().length()>5 && messages.toString().substring(0,6).equals("bb1010"))
{
FirmwareVersion.setText(messages.substring(6));
}
else if(messages.toString().length()>5 && messages.toString().substring(0,6).equals("bb1020"))
{
DeviceId.setText(messages.substring(6));
}
}
问题是,假设我为字符串"bb1010"
加上前缀FirmwareVersion
,则TextBox设置正确。现在,我发送"bb1020"
,它与存储在messages
中的内容串联在一起。因此,messages
类似于-“ bb1010Firmware Version is v1.0.0 bb1020”。因此,它输入了我的第一个if语句,并再次设置了FirmwareVersion
TextBox。
所以我的问题是-messages
TextBox完全设置后如何清除FirmwareVersion
?
此外,还有其他方法可以确定要写入哪个TextBox吗?
答案 0 :(得分:0)
尝试
messages.setText("");
答案 1 :(得分:0)
在onReceive方法的开始处,将String声明为空或将null声明为::-
messages = null;
或
messages =“”;
两者都将清空您的String并在开始时清除其所有内容,以免干扰您的操作。
如果能帮助您,请付出努力。...