Android:如何在自定义对话框中查看动态表布局
我正在创建一个android应用程序,该应用程序由在此处动态创建的表布局组成。我想在自定义对话框中显示该表布局。我调用了生成的表布局,该表布局出现在对话框活动中的另一个活动中,但它显示了带有对话框名称的空对话框。有人能告诉我我在哪里做的吗错误 这里是我的动态表格布局生成活动:Android:如何在自定义对话框中查看动态表布局,android,customdialog,Android,Customdialog,我正在创建一个android应用程序,该应用程序由在此处动态创建的表布局组成。我想在自定义对话框中显示该表布局。我调用了生成的表布局,该表布局出现在对话框活动中的另一个活动中,但它显示了带有对话框名称的空对话框。有人能告诉我我在哪里做的吗错误 这里是我的动态表格布局生成活动: EDIT:------------ @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMe
EDIT:------------
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.setHeaderTitle("MANUAL MODE : AFTER FUSE CONNECTION");
menu.add(1, v.getId(), 0, "TEST ");
menu.add(1, v.getId(), 0, "SELECT ALL ");
menu.add(1, v.getId(), 0, "DESELECT ALL ");
super.onCreateContextMenu(menu, v, menuInfo);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
if(item.getTitle()=="TEST ")
{
progresDialog = new Dialog(getActivity());
LayoutInflater inflater = (LayoutInflater)getActivity().getSystemService(getActivity().LAYOUT_INFLATER_SERVICE);
progresDialog.setTitle("MANUAL MODE : TESTING ");
View dialogview = inflater.inflate(R.layout.progressdialog, null);
progresDialog.setContentView(dialogview);
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);
}
progresDialog.show();
}
这是因为您在对话框中调用了布局,但您是通过java代码创建布局的。您需要执行以下给定的操作: 1.如果创建DialogFragment,则将其更改为AlertDialog或更合适的。 2.不使用
dialog.setContentView(layout id);
使用以下命令:
dialog.setContentView(view object);
如何使用这种方法?让我给你看一个示例
LayoutInflater = (LayoutInflater) getSystemService(Context.LAYOU_INFLATER_SERVICE);
View dialogView = inflater.inflate(R.layout.activity_progressdialogactivity, null);
现在,请在此处识别您的表格布局:
table_layout = (TableLayout) dialogView.findViewById(R.id.tl_1);
然后在这里添加for循环 Dude is layout inflater在上面是正确的,因为它向我显示了一个错误,我正在片段内创建一个对话框@Khushal ChouhanK Dude我正在处理它,你能不能请等一段时间@Kushal ChouhanYes我在6点30分可用Dude不工作Dude再次显示只有对话框名的空对话框我会编辑我的帖子,你能吗请检查一下@Kushal ChouhanI告诉过你使用AlertDialog的可能副本