java - 如何在editTextView中按ID显示SQL数据?
问题描述
您好,我只是想问一下这段代码,问题是我只想getData
在EditTextview
. 但它只是在祝酒中显示您认为我的代码需要进行哪些修改才能将数据调用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();
}
}
解决方案
您不是在 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 方法中,因为数据是该方法的局部变量。
推荐阅读
- python - Python 循环一直在 Window 的解释器中停止
- python - 将 pdf 转换为 excel(使用 Camelot 获取特定表格)
- cloudera - Errno 14 PYCURL 错误 6 ;在 Cloudera Manager 7.x 升级中无法解析主机
- javascript - 页面加载到容器中时 UI 滑块不可见
- python - 使用 Seleliu 导入文件
- scala - 如何在处理速率限制时异步发送 HTTP 请求?
- mongodb - 将聚合的结果作为对象而不是数组返回
- spring - log4j2 不在登台机器上生成日志
- ruby-on-rails - Rails 6 Active Storage:Digital Ocean Spaces 不支持公共读取 ACL
- javascript - 通过 wordpress 中的脚本切换 div