android - 我不能为 DialogBox 中的 EditText 做 setText()
问题描述
代码就在那里,从“edtInfoName.setText(userName)”行我得到了错误,我不知道为什么。edtInfoName 在 myDialog.xml 中。请帮我找出问题所在。
itnInfo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText edtInfoName, edtInfoID, edtInfoPW;
dialogView = (View) View.inflate(MyHome.this, R.layout.info_dialog, null);
AlertDialog.Builder dlg = new AlertDialog.Builder(MyHome.this);
dlg.setTitle("User Information");
dlg.setView(dialogView);
edtInfoName = (EditText) findViewById(R.id.edtInfoName);
edtInfoID = (EditText) findViewById(R.id.edtInfoID);
edtInfoPW = (EditText) findViewById(R.id.edtInfoPW);
edtInfoName.setText(userName);
edtInfoID.setText(userID);
edtInfoID.getFreezesText();
edtInfoPW.getFreezesText();
}
});
解决方案
用这个替换你的代码
itnInfo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText edtInfoName, edtInfoID, edtInfoPW;
dialogView = (View) View.inflate(MyHome.this, R.layout.info_dialog, null);
AlertDialog.Builder dlg = new AlertDialog.Builder(MyHome.this);
dlg.setTitle("User Information");
dlg.setView(dialogView);
edtInfoName = (EditText) dialogView.findViewById(R.id.edtInfoName);
edtInfoID = (EditText) dialogView.findViewById(R.id.edtInfoID);
edtInfoPW = (EditText) dialogView.findViewById(R.id.edtInfoPW);
edtInfoName.setText(userName);
edtInfoID.setText(userID);
edtInfoID.getFreezesText();
edtInfoPW.getFreezesText();
}
});
您正在尝试访问 info_dialog.xml 中的 edittext,因此您需要通过 dialogview 实例访问它
推荐阅读
- sql - 返回值进行比较
- azure - 带有计时器的 Azure 自动关机,但没有连接用户
- javascript - 如何优雅地检查 JS 中两个对象之间是否有任何字段具有更长的值?
- powershell - Powershell Workflow 的数组输出未正确格式化或导出
- java - 如何正确使用 Swagger Maven 插件和现有项目
- android-studio - 如何在 Flutter 项目中使用 AndroidStudio 3 中的 Android Profiler 和 Logcat
- python - Python 包认为我的依赖版本比我旧
- kubernetes - 如何与同一 k8s 集群中的 pod 内的 Kubernetes CRD 服务通信?
- r - 将一个单元格数据拆分为两个变量,然后保存在 csv 中
- javascript - Javascript String Array-Like-Object behaviour