How to place a table layout inside the custom dialog?

时间秒杀一切 提交于 2019-12-26 21:40:02

问题


I am creating an android application which presents with custom dialog. In that custom dialog i had placed had placed a table layout generated dynamically.By executing that the dialog was showing an empty dialog with the dialog header title only it was not displaying any table layout inside that dialog can any one help me how to view dynamic table layout inside custom dialog This is my activity

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();

This is my xml file to call inside the dialog:

<?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>

回答1:


This can be done using setView method, other solution will be to use DialogFragment, overriding onCreateView

EDIT: int first approach you have to keep in mind that you should not call setMessage method, otherwise it will override your custom view

EDIT 2: you can look how to set custom layout for an AlertDialog in this developer page




回答2:


Use Dialog instead of AlertDialog, then use setContentView with your layout id.



来源:https://stackoverflow.com/questions/31155694/how-to-place-a-table-layout-inside-the-custom-dialog

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!