刷新对话框的内容

时间:2011-11-22 20:18:00

标签: android

每当对话框准备好绘制时,我需要更新自定义对话框内容。我不确定这可以直接刷新,或者我是否需要先关闭它并重新启动它?

2 个答案:

答案 0 :(得分:3)

获取Dialog正在使用的视图,[post]使其无效。

而不是Dialog.setContentView(int);

做类似的事情:

public class MyDialog {
        View v = null;

        public Dialog show(Context context) {
            Dialog d = new Dialog(context);
            v = LayoutInflater.from(context).inflate(R.layout.resource, null);
            d.setContentView(v);
            return d.show();
        }

        public void update() {
            v.invalidate();
        }
}

答案 1 :(得分:0)

您可以在onPrepareDialog中执行所有操作。每次要显示对话框时都会调用它。

void onPrepareDialog(final int id, final Dialog dialog) {
     switch(id) {
     case MY_DIALOG:
        TextView txtView = (TextView)dialog.findViewById(R.id.mytext);
        txtView.setText("My new text"):
        ....
     }
}