android - 在活动上按下返回按钮后在片段中设置监听器
问题描述
所以我有MyFragment从我在单击按钮时启动MyActivity的地方。一旦我在活动中,我想回到我的片段,我想宣布我刚刚来自那个活动的片段并显示一个横幅。
这是我的活动:
class MyActivity : AppCompatActivity() {
private var onBackButtonClickListener: OnBackButtonClickListener? = null
...
backBtn.setOnClickListener {
this.onBackPressed()
onBackButtonClickListener?.onBackButtonClick()
}
...
fun setOnBackButtonClick(onBackButtonClickListener: OnBackButtonClickListener) {
this.onBackButtonClickListener = onBackButtonClickListener
}
interface OnBackButtonClickListener {
fun onBackButtonClick()
}
}
这是我实现活动接口的片段:
public class MyFragment extends Fragment implements MyActivity.OnBackButtonClickListener {
....
@Override
public void onBackButtonClick() {
//show banner
}
我的问题是:我的片段怎么知道我刚刚来自那个特定的活动?我在哪里设置片段内的 onClickListener?过去 2 天我一直在寻找解决方案,但没有找到任何可行的方法。
解决方案
你不需要任何接口,使用startActivityForResult
方法而不是只是startActivity
,这里的一些文档和示例
推荐阅读
- c - 是否有必要将 return 放入无效递归中?
- python-3.x - 停止流式传输,原因未协商 (-4) 错误
- python - 使用列表理解技术在 python 中获取唯一值
- java - 如何在spring应用程序中重用可运行的jar文件
- sql - 单个表的 Postgres 嵌套查询
- css - 自动网格大小调整允许在 css 中连续第 n 个最大值
- flutter - 在“Row”中渲染 ListTile 时出现错误“断言失败:第 1687 行 pos 12:'hasSize'”
- html - css创建的三角形如何减小宽度和增加高度
- c++ - 在 C++ 中的另一个子程序中使用在一个子程序中输入的变量
- java - 我的地图活动一加载就崩溃