Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从对话框调用活动的方法_Android_Methods_Dialog_Android Activity_Tabs - Fatal编程技术网

Android 从对话框调用活动的方法

Android 从对话框调用活动的方法,android,methods,dialog,android-activity,tabs,Android,Methods,Dialog,Android Activity,Tabs,我有一个选项卡界面,有两个独立的活动,我们称它们为ActA和ActB。这两个活动都可以启动一个自定义对话框,我希望在这个对话框中有一个按钮调用ActBs的方法(ActB是数据库的列表视图,所讨论的方法是填充列表,基本上是刷新)。 如何让对话框活动引用ActB调用其方法?谢谢 编辑:我会提供更多的细节。我在谷歌的记事本教程中编写了这个程序,该教程教授SQLite DBs。我把它分为两个活动,一个是创建条目,然后保存它们(ActA);另一个用于查看条目(ActB)。现在,最近,我将这些活动放在选项卡

我有一个选项卡界面,有两个独立的活动,我们称它们为ActA和ActB。这两个活动都可以启动一个自定义对话框,我希望在这个对话框中有一个按钮调用ActBs的方法(ActB是数据库的列表视图,所讨论的方法是填充列表,基本上是刷新)。 如何让对话框活动引用ActB调用其方法?谢谢

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

A)一种方法是使用广播和广播接收器: 您为您的活动定义特定的意图过滤器,然后通过 sendBroadcast(intent),其中intent触发活动中的方法


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

如果您正在扩展android对话框类,则可以在活动中实现并在创建对话框时进行设置,然后在监听器中,根据用于关闭对话框的按钮实现您想要的任何功能


如果自定义对话框本身是一个活动,并且您使用startActivity调用它,则可以将其更改为startActivityForResult,并在对话框的刷新按钮中执行设置结果,以通知调用活动刷新自身

有关如何使用startActivityForResult look的更多信息。

ImageButton=(ImageButton)对话框。findViewById(R.id.imageButton5);
setOnClickListener(新的OnClickListener(){
公共void onClick(视图v){
完成();
Intent myIntent=newintent(getBaseContext(),Abc.class);
星触觉(myIntent);
}
});

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

嗯,实际上,什么都没有。它没有覆盖它,所以我正在做super.show()所做的事情。我添加了一个替代解决方案,用于扩展Android Dialog类,而不是将对话框作为另一个活动实现。那么,您建议将我的对话框作为一个活动实现吗?如何在ListActivity类中使用Disclose侦听器?我觉得很难受,为所有的问题感到抱歉,哈哈,事实上,太棒了,我让我的OnDismissListener在ActB的对话中工作,实际列表在那里。现在我只需要让它做同样的事情,如果ActA的对话被取消。