1
我有一個類「MessageParser」延伸警告對話框上的工作線程
AbstractParser
和調用 的方法等「onMessagePacketReceived」:
conversation.add(message);
補充的是實體的方法「對話「
AbstractEntity
並添加收到的消息,如下所示:
public void add(Message message) {
message.setConversation(this);
synchronized (this.messages) {
this.messages.add(message);
}
}
我想要做的是顯示它有像下面輸入一個警告對話框:
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(R.string.input_pass);
View dialogView = getLayoutInflater().inflate(R.layout.set_password_dialog, null);
builder.setView(dialogView);
builder.setNegativeButton(R.string.cancel, null);
builder.setPositiveButton(R.string.next, null);
final AlertDialog dialog = builder.create();
dialog.show();
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(final View v) {
EditText edit = (EditText) dialog.findViewById(R.id.account_password);
String pass = edit.getText().toString();
if (pass.equals(accountList.get(0).getPassword())) {
conversation.add(message);
dialog.dismiss();
} else {
edit.setError(getString(R.string.incorrect_pass));
}
}
});
其替換conversation.add(消息)。我遇到了麻煩。它顯示
Can't create handler inside thread that has not called Looper.prepare()
我看過this答案,但不幫助我。
錯誤:(683,9)錯誤:無法找到符號方法runOnUiThread(<匿名Runnable>) – user168228
已更新的答案。 – Chaoz
但哪些活動? – user168228