【问题标题】:How do I change list order in a dialog box on Android如何在 Android 的对话框中更改列表顺序
【发布时间】:2017-03-02 00:15:05
【问题描述】:

我有一个对话框列出了我的 sqlite 数据库中的结果,但它向后列出了它们(最旧的条目在前)。我怎样才能使用这个列表(最新列出的第一)?请帮忙。谢谢!

    if (view == btnViewAll) {
        Cursor c = db.rawQuery("SELECT * FROM number", null);
        if (c.getCount() == 0) {
            showMessage("Error", "No records found");
            return;
        }
        StringBuffer buffer = new StringBuffer();
        while (c.moveToNext()) {
            buffer.append("Meter Number: " + c.getString(0) + "\n");
            buffer.append("Read: " + c.getString(1) + c.getString(2) +c.getString(3) + c.getString(4) + c.getString(5) + "\n");
            buffer.append("Date Read: " + c.getString(6) + "\n\n");
        }
        showMessage("Meter Details", 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();
}

【问题讨论】:

    标签: android android-cursor


    【解决方案1】:

    改变你的查询,你就完成了

    Cursor c = db.rawQuery("SELECT * FROM number ORDER BY <column_name> DESC", null);
    

    【讨论】:

    • 我试过了,但它并不总是拉起最后一个输入。我可以添加一个列,为每个输入提供一个自动增加的行号吗?如果是这样,我不知道从哪里开始编写代码。你能帮我吗?谢谢!
    【解决方案2】:

    我用这个替换它:

        if (view == btnViewAll) {
            if (editText6.getText().toString().trim().length() == 0) {
                Cursor c = db.rawQuery("SELECT * FROM number ORDER BY id DESC", null);
                if (c.getCount() == 0) {
                    Toast ToastMessage = Toast.makeText(this, "      No Records Found      ", Toast.LENGTH_LONG);
                    ToastMessage.setGravity(Gravity.CENTER | Gravity.CENTER_HORIZONTAL, 0, 0);
                    View toastView = ToastMessage.getView();
                    toastView.setBackgroundResource(R.drawable.shape9);
                    ToastMessage.show();
                    return;
                }
                StringBuffer buffer = new StringBuffer();
                while (c.moveToNext()) {
                   // buffer.append("Entry Id: " + c.getString(0) + "\n");
                    buffer.append("Meter Number: " + c.getString(1) + "\n");
                    buffer.append("Read: " + c.getString(2) + c.getString(3) + c.getString(4) + c.getString(5) + c.getString(6) + "\n");
                    buffer.append("Status: " + c.getString(8) + "\n");
                    buffer.append("Address: " + c.getString(9) + "\n");
                    buffer.append("Date Read: " + c.getString(7) + "\n\n");
                }
                showMessage("Meter Details", buffer.toString());
            } else {
                if (editText6.getText().toString().trim().length() > 0) {
                    Cursor c = db.rawQuery("SELECT * FROM number WHERE meter='" + editText6.getText() + "'ORDER BY id DESC", null);
                    if (c.getCount() == 0) {
                        Toast ToastMessage = Toast.makeText(this, "      No Records Found      ", Toast.LENGTH_LONG);
                        ToastMessage.setGravity(Gravity.CENTER | Gravity.CENTER_HORIZONTAL, 0, 0);
                        View toastView = ToastMessage.getView();
                        toastView.setBackgroundResource(R.drawable.shape9);
                        ToastMessage.show();
                        return;
                    }
                    StringBuffer buffer = new StringBuffer();
                    while (c.moveToNext()) {
                        //buffer.append("Entry Id: " + c.getString(0) + "\n");
                        buffer.append("Meter Number: " + c.getString(1) + "\n");
                        buffer.append("Read: " + c.getString(2) + c.getString(3) + c.getString(4) + c.getString(5) + c.getString(6) + "\n");
                        buffer.append("Status: " + c.getString(8) + "\n");
                        buffer.append("Address: " + c.getString(9) + "\n");
                        buffer.append("Date Read: " + c.getString(7) + "\n\n");
                    }
                    showMessage("Meter Details", 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();
    }
    

    【讨论】:

      猜你喜欢
      • 2011-04-28
      • 2011-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-08
      • 2023-03-23
      • 1970-01-01
      相关资源
      最近更新 更多