创建构建器的代码:
builder = new AlertDialog.Builder(this);
builder.setPositiveButton("connect",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
devices.get(currentPos).setConnected(true);
}
});
builder.setNegativeButton("dismiss",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User cancelled the dialog
}
});
builder.setView(getLayoutInflater().inflate(
(R.layout.activity_device_details), null));
builder.setTitle("more information");
请注意:builder.setView() 到 R.layout.activity_device_details,当我使用以下代码创建对话框时,其中有一些我想填充的 TextView:
BPDevice dev = new BPDevice();
dev = devices.get(position);
AlertDialog dialog = builder.create();
((TextView) dialog.findViewById(R.id.name)).setText(dev.getName());
dialog.show();
由于这一行,我得到一个 nullpointerException:((TextView) dialog.findViewById(R.id.name)).setText(dev.getName());
¿如何正确填充 TextView?
最佳答案
首先扩充具有 TextView 的根布局。然后你的 child 的意见。然后设置数据并设置根作为警报对话框的 View 。
View root = getLayoutInflater().inflate(
(R.layout.activity_device_details),null);
TextView textView =(TextView)root.findViewById(R.id.your_textview_layout_name);
textView.setText("Your data");
builder.setView(root);
关于android - 如何将数据从 Activity 发送到 AlertDialog 以显示它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19244714/