gpt4 book ai didi

java - button.PerformClick() 导致文本被清除

转载 作者:行者123 更新时间:2023-12-02 06:30:46 27 4
gpt4 key购买 nike

我有一个 Activity ,其中一个用户向另一个用户发送消息,我创建了一个 onKey 监听器,以便在用户按下 Enter 时发送消息。

当用户实际单击发送按钮时,一切正常,当用户按下回车按钮时,会发送一条空白消息。

这是onkeylistener代码代码:

        messageText.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == 66) {
sendMessageButton.performClick();
return true;
}
return false;
}

});

这是发送消息按钮代码:

        sendMessageButton.setOnClickListener(new OnClickListener() {
CharSequence message;
Handler handler = new Handler();

@Override
public void onClick(View arg0) {
// android.text.format.DateFormat df = new
// android.text.format.DateFormat();
message = messageText.getText();
String messageSent = DateFormat.format("dd MMM yy, kk:mm",
new java.util.Date()).toString();// java.text.DateFormat.getDateTimeInstance().format("yyyy-MM-dd kk:mm:ss");

if (message.length() > 0) {

appendToMessageHistory(imService.getUsername(),
message.toString(), messageSent);
((ScrollView) findViewById(R.id.scrollView))
.fullScroll(View.FOCUS_DOWN);
localstoragehandler.insert(imService.getUsername(),
friend.userName, message.toString(), messageSent);

messageText.setText("");
Thread thread = new Thread() {
@Override
public void run() {
try {
if (imService.sendMessage(
imService.getUsername(),
friend.userName, message.toString()) == null) {

handler.post(new Runnable() {

@Override
public void run() {

Toast.makeText(
getApplicationContext(),
R.string.message_cannot_be_sent,
Toast.LENGTH_LONG).show();

// showDialog(MESSAGE_CANNOT_BE_SENT);
}

});
}
} catch (UnsupportedEncodingException e) {
Toast.makeText(getApplicationContext(),
R.string.message_cannot_be_sent,
Toast.LENGTH_LONG).show();

e.printStackTrace();
}
}
};
thread.start();

}

}
});

最佳答案

当用户点击按钮时

message = messageText.getText();// get message

那你就这样做

messageText.setText(""); 

因此,当用户按下 onKey 中的 Enter 按钮时,您会发送 sendMessageButton.performClick() 一条空白消息,因为您已经设置了 messageText.setText("”)

关于java - button.PerformClick() 导致文本被清除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20077211/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com