我正在创建一个带有自定义对话框的Android应用程序。在我放置的自定义对话框中放置了一个动态生成的表格布局。通过执行对话框显示一个带有对话框标题标题的空对话框,只是它没有在该对话框中显示任何表格布局,任何人都可以帮助我查看动态自定义对话框中的表布局 这是我的活动
alert_progress_dialog = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = (LayoutInflater)getActivity().getSystemService(getActivity().LAYOUT_INFLATER_SERVICE);
alert_progress_dialog.setTitle("MANUAL MODE : TESTING ");
View dialogview = inflater.inflate(R.layout.progressdialog, null);
alert_progress_dialog.setView(dialogview);
alert_progress_dialog.setMessage("This is a sample message");
table_dialog = (TableLayout)dialogview.findViewById(R.id.table_layout_1);
for (int i = 1; i <= 4; i++) {
TableRow row = new TableRow(getActivity());
row.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT));
for (int j = 1; j <= 4; j++)
{
TextView tv = new TextView(getActivity());
tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
tv.setBackgroundResource(R.drawable.cell_shape);
tv.setPadding(5, 5, 5, 5);
tv.setText("R " + i + ", C" + j);
row.addView(tv);
}
table_dialog.addView(row);
}
alert_progress_dialog.show();
这是我在对话框中调用的xml文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TableLayout
android:id="@+id/table_layout_1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="77dp" >
</TableLayout>
</RelativeLayout>
答案 0 :(得分:0)
这可以使用setView方法完成,其他解决方案是使用DialogFragment,覆盖onCreateView
编辑:int第一种方法你必须记住你不应该调用setMessage方法,否则它将覆盖你的自定义视图
编辑2:您可以在此developer page
中了解如何为AlertDialog设置自定义布局答案 1 :(得分:0)
使用Dialog而不是AlertDialog,然后将setContentView与您的布局ID一起使用。