首页 > 解决方案 > 如何在editTextView中按ID显示SQL数据?

问题描述

您好,我只是想问一下这段代码,问题是我只想getDataEditTextview. 但它只是在祝酒中显示您认为我的代码需要进行哪些修改才能将数据调用getData为非常EditText感谢您的帮助。

package com.example.serviceapplication;


    import android.database.Cursor;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;


    import androidx.appcompat.app.AlertDialog;
    import androidx.appcompat.app.AppCompatActivity;

    public class Timeinsms extends AppCompatActivity {

    DatabaseHelper myDb;
    EditText editTextId,editTextsmsi;
    Button btngetData,btnView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_timeinsms);
        myDb = new DatabaseHelper(this);
        editTextId = (EditText) findViewById(R.id.editText_idin);
        btngetData = (Button) findViewById(R.id.button_view);
        btnView = (Button) findViewById(R.id.button_viewALL);
        getData();
        viewAll();

    }



    public void getData() {
        btngetData.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String id = editTextId.getText().toString();

                if (id.equals(String.valueOf(""))) {
                    editTextId.setError("Enter id to get data");
                    return;
                }
                Cursor res = myDb.getData(id);
                String data = null;
                if (res.moveToFirst()) {

                    data =

                                    "Id:" + res.getString(0) + "\n\n" +
                                    "Time In :" + res.getString(1) + "\n\n" +
                                    "Customer :" + res.getString(2) + "\n\n"+
                                    "Branch :" + res.getString(3) + "\n\n"+
                                    "Machine :" + res.getString(4) + "\n\n";

                }
                showMessage("TIME OUT FORM"+"\n\n", data);
            }
        });
    }


    public void viewAll(){
        btnView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Cursor res=myDb.getAllData();
                if(res.getCount() == 0) {
                    showMessage("Error","Nothing found");
                    return;
                }
                StringBuffer buffer=new StringBuffer();
                while(res.moveToNext()){
                    buffer.append("Id:"+res.getString(0)+"\n\n");
                    buffer.append("Time :"+ res.getString(1)+"\n\n");
                    buffer.append("Customer :"+ res.getString(2)+"\n\n");
                    buffer.append("Branch :"+ res.getString(3)+"\n\n");
                    buffer.append("Machine :"+ res.getString(4)+"\n\n\n");
                }
                showMessage("Time In History",buffer.toString());
            }
        });
    }




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

    }

}

标签: javaandroidandroid-edittext

解决方案


您不是在 Toast 中显示它,而是在使用 Alertdialog 来显示您的消息。这将是一个吐司

Toast.makeText(this,"MESSAGE TO SHOW",Toast.LENGTH_LONG).show();

在这个位置

data =                      "Id:" + res.getString(0) + "\n\n" +
                            "Time In :" + res.getString(1) + "\n\n" +
                            "Customer :" + res.getString(2) + "\n\n"+
                            "Branch :" + res.getString(3) + "\n\n"+
                            "Machine :" + res.getString(4) + "\n\n";

您已经在创建一个包含所有数据的字符串,您只需使用此字符串设置您的 Edittext。

editTextId.setText("TIME OUT FORM"+"\n\n"+data);

这必须放在 OnClick 方法中,因为数据是该方法的局部变量。


推荐阅读