android-studio - 为什么警报对话框每次都会使我的应用程序崩溃
问题描述
问题是警报对话框根本不起作用,并且每次都崩溃
我用youtube检查了每一行,但无济于事
这是代码:
public void showupdatedialogue(String id , String name){
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
LayoutInflater inflater = getLayoutInflater();
View dialog = inflater.inflate(R.layout.update,null);
builder.setView(dialog);
EditText naame = findViewById(R.id.name);
EditText rollno = findViewById(R.id.roll);
EditText cla = findViewById(R.id.clas);
EditText date = findViewById(R.id.dob);
EditText teacher = findViewById(R.id.teacher);
Button up = findViewById(R.id.update);
builder.setTitle("Updating" + " " + name + " " + "record");
builder.show();
up.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String n = naame.getText().toString();
String r = rollno.getText().toString();
String c = cla.getText().toString();
String d = date.getText().toString();
String t = teacher.getText().toString();
updatestudents(id,n,r,d,c,t);
Toast.makeText(MainActivity.this,"record updated",Toast.LENGTH_LONG).show();
}
});
}```
解决方案
在 findViewById() 你应该添加 dialog.findViewById()
public void showupdatedialogue(String id , String name){
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
LayoutInflater inflater = getLayoutInflater();
View dialog = inflater.inflate(R.layout.update,null);
builder.setView(dialog);
EditText naame = dialog.findViewById(R.id.name);
EditText rollno = dialog.findViewById(R.id.roll);
EditText cla = dialog.findViewById(R.id.clas);
EditText date = dialog.findViewById(R.id.dob);
EditText teacher = dialog.findViewById(R.id.teacher);
Button up = dialog.findViewById(R.id.update);
builder.setTitle("Updating" + " " + name + " " + "record");
builder.show();
up.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String n = naame.getText().toString();
String r = rollno.getText().toString();
String c = cla.getText().toString();
String d = date.getText().toString();
String t = teacher.getText().toString();
updatestudents(id,n,r,d,c,t);
Toast.makeText(MainActivity.this,"record updated",Toast.LENGTH_LONG).show();
}
});
}
推荐阅读
- botframework - Microsoft Bot 在 Teams 和 Bot Emulator 中均未响应
- css - 引导网格:如何更改列的位置?
- java - 从 Oracle Java 8 更新到采用 OpenJDK
- continuous-integration - 我正在寻找 xml 和 Python 的代码策略执行工具
- javascript - 如何在 sagas 中使用异步加载的资产与本机反应?
- python - 处理来自 .json 文件的密钥中的密钥
- rust - &dyn Trait 和 Box 有什么区别
动态调度? - apache-kafka - @KafkaListener vs ConsumerFactory groupId
- mysql - Xampp MySQL 意外关闭插件'FEEDBACK'被禁用
- angular - 无法在 Angular 组件中使用 ngFor 获取数据