单击按钮时不显示AlertDialog

时间:2016-06-09 09:51:57

标签: android database sqlite

我创建了一个AlertDialog,显示从我的数据库中显示的信息。问题是AlertDialog框根本没有显示。没有出现任何错误,这使得解决问题变得困难。

 public void viewAll() {
    button.setOnClickListener(
            new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Cursor result = myDB.getData();
                    if (result.getCount() == 0) {
                        showMessage("ERROR", "NO DATA");
                        return;
                    }
                    StringBuffer buffer = new StringBuffer();
                    while (result.moveToNext()) {
                        buffer.append("COL1: " + result.getString(1) + "\n");
                        buffer.append("COL2: " + restul.getString(2) + "\n");
                        buffer.append("COL3: " + result.getString(3) + "\n");
                        buffer.append("COL4: " + result.getString(4) + "\n");

                    }

                    showMessage("DATA", buffer.toString());
                }
            }
    );
}
public void showMessage(String title, String message) {
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setCancelable(true);
    builder.setTitle(title);
    builder.setMessage(message);
    builder.show();
}

原谅我使用伪代码

3 个答案:

答案 0 :(得分:4)

首先创建AlertDialog,然后在该AlertDialog对象上调用show。 像这样:

AlertDialog dialog = builder.create();
dialog.show();

答案 1 :(得分:0)

请改为尝试:

AlertDialog.Builder adb = new AlertDialog.Builder(this)
.setCancelable(true)
.setTitle(title)
.setMessage(message)
.create();
adb.show();

或使用我的代码并将.create()替换为.show()。

答案 2 :(得分:0)

public void showMessage(String title, String message) {
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setCancelable(true);
    builder.setTitle(title);
    builder.setMessage(message);
    builder.create().show();
}

使用它。希望它会奏效。如果没有,你可以改变这样的行:

AlertDialog.Builder builder = new AlertDialog.Builder(YourActivity.this);

然后它应该工作。