【问题标题】:Call method of an activity from dialog从对话框调用活动的方法
【发布时间】:2010-12-22 04:25:30
【问题描述】:

我有一个带有两个独立活动的选项卡界面,我们称它们为 ActA 和 ActB。这两个活动都可以启动自定义Dialog,我想在这个对话框中有一个按钮调用ActBs的方法,(ActB是数据库的ListView,有问题的方法是填充列表,基本上刷新) . 我怎样才能让对话框活动引用 ActB 来调用它的方法?谢谢!

编辑:我会提供更多细节。我在 Google 的 Notepad 教程中使用了这个程序,该教程教授了 SQLite DB。我把它分成两个活动,一个用于创建条目,然后保存它们(ActA);另一个用于查看条目(ActB)。现在,最近,我将这些活动放在标签中,而不是通过手机的菜单键访问它们。不幸的是,这似乎阻止了 ListActivity 调用其“fillData()”方法。

【问题讨论】:

    标签: android methods dialog android-activity tabs


    【解决方案1】:

    如果您是 扩展 android Dialog 类,您可以在 Activity 中实现 Dismiss Listener,并在创建 Dialog 时设置它,然后在侦听器中实现任何您想要的功能取决于用于关闭对话框的按钮。


    如果您的自定义 Dialog 本身是一个 Activity,并且您使用 startActivity 调用它,您可以将其更改为 startActivityForResult,并在 刷新按钮中实现Dialog 的 /strong> 一个带有自定义 Intent 的 setResult,用于通知调用的 Activity 刷新自身。

    有关如何使用 startActivityForResult 的更多信息,请查看here

    【讨论】:

    • 呃,其实没什么。它没有覆盖它,所以我正在做 super.show() 所做的任何事情。
    • 当您扩展 Android Dialog 类而不是将您的 Dialog 实现为另一个 Activity 时,我添加了一个替代解决方案。
    • 好吧,你会建议将我的对话实现为一个活动吗?如何将 Dismiss Listener 与 ListActivity 类一起使用?我觉得很厚,对不起所有的问题,哈哈
    • 好吧,实际上,太棒了,我的 OnDismissListener 在从 ActB 调用的对话框中工作,实际列表就在其中。现在,如果来自 ActA 的对话框被解除,我只需要让它做同样的事情。
    【解决方案2】:

    A) 一种方法是使用广播和广播接收器:http://developer.android.com/reference/android/content/BroadcastReceiver.html 您为您的活动定义某些意图过滤器,然后通过 sendBroadcast(intent),intent 在你的活动中触发方法。

    B) 另一种方式:定义两个活动都在实现的接口,即handleDialogBu​​tton。由于您在对话框构造函数中传递上下文,因此您可以对它们执行一些操作。

    【讨论】:

      【解决方案3】:
      ImageButton button= (ImageButton) dialog.findViewById(R.id.imageButton5);      
      button.setOnClickListener(new OnClickListener() {
          public void onClick(View v) {
              finish();
              Intent myIntent = new Intent(getBaseContext(), Abc.class);
              startActivity(myIntent);
          }
      });
      

      尝试使用此代码从对话框按钮单击开始新活动。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多