相关疑难解决方法(0)

IllegalStateException("你不能设置Dialog的OnCancelListener或OnDismissListener")

这个DialogFragment实现导致了

IllegalStateException("你不能设置Dialog的OnCancelListener或OnDismissListener")

.为什么?解?

public class OkCThreadDialog1 extends DialogFragment{

DialogInterface.OnCancelListener onCancelListener;

public OkCThreadDialog1(){
}

public static OkCThreadDialog1 newInstance(String title, String message) {
    OkCThreadDialog1 frag = new OkCThreadDialog1();
    Bundle args = new Bundle();
    args.putString("title", title);
    args.putString("message", message);
    frag.setArguments(args);
    return frag;
}


public Dialog onCreateDialog(Bundle savedInstanceState){

    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());


    builder .setTitle(getArguments().getString("title"))
            .setMessage(getArguments().getString("message"))
            .setOnCancelListener(onCancelListener)
            .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                }})
            .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    getDialog().cancel();
                }});

    return builder.create();
} …
Run Code Online (Sandbox Code Playgroud)

android android-dialogfragment

35
推荐指数
2
解决办法
9981
查看次数

对话框解除后更新UI

我有活动A,它有一个带自定义适配器的ListView.

自定义适配器(适用于每个列表视图项)具有一个调用自定义对话框的按钮.

在此对话框中正在执行一个操作,作为响应,我想调用活动A上的UI更新.

这是我对简历代码的活动:

@Override
public void onResume() 
{
    super.onResume();
    setUI();  
}
Run Code Online (Sandbox Code Playgroud)

但是当我打电话的时候

dialog.dismiss();
Run Code Online (Sandbox Code Playgroud)

该对话框关闭,而不调用Activity A OnResume方法benig.

我如何捕捉和更新活动ui?

android android-lifecycle

2
推荐指数
1
解决办法
4801
查看次数