来自对话框的Intent的Android Call Activity然后返回带有结果的对话框

时间:2017-04-20 21:44:08

标签: android android-intent dialog adapter

经过多次搜索,我无法解决我的问题。 我从适配器开始一个对话,然后从我的对话框中调用一个活动(通过意图)。我想回到我的对话框,其中包含我的活动结果。在这里我的代码:

    final Dialog dialog = new Dialog(MyActivity.context);
    dialog_actv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            add_dialog.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v)
                {Intent add = new Intent(MyActivity.context,MySecondActivity.class);
                    MyActivity.context.startActivity(add);

从被调用的活动中,我想返回对话框。我能怎么做 ? 谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

您可以通过以下活动显示来自适配器的对话框,而不是显示您的对话框:

在适配器中:

((YourActivity)mContext).showCustomDialog();
In your YourActivity.java
public void showCustomDialog(){
    Intent add = new Intent(MyActivity.context,MySecondActivity.class);
    startActivityForResult(add);
}

在您的活动中处理您的结果并在对话框中进行更改。

让我知道它是否适合你。

答案 1 :(得分:0)

您可以使用DialogFragment并覆盖onActivityResult回调来获得结果。

注意

  • 要在您的片段中显示结果,请务必在片段中调用startActivityForResult(intent,reqCode)而不是getActivity().startActivityForResult(intent,reqCode)
  • 如果托管活动已覆盖onActivityResult,请确保为未处理的结果代码调用super.onActivityResult