【发布时间】:2015-09-06 10:09:54
【问题描述】:
我有一个扩展类“MessageParser”
抽象解析器
还有一个方法“onMessagePacketReceived”,它调用 一种方法:
conversation.add(message);
add 是实体“对话”的一种方法,它扩展了
抽象实体
并添加收到的消息,如下所示:
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(message)。我在这方面遇到了麻烦。它显示
无法在未调用的线程内创建处理程序 Looper.prepare()
我已经看到this 的回答,但对我没有帮助。
【问题讨论】:
标签: android android-alertdialog ui-thread