如何从一个片段移动到一个活动

Posted

技术标签:

【中文标题】如何从一个片段移动到一个活动【英文标题】:How to move from a one fragment to an activity 【发布时间】:2015-05-11 18:43:22 【问题描述】:

我正在为片段处理 CustomListViewCustomAdapter 扩展自 BaseAdapter 。在我的CustomAdapter 中有一个按钮单击该按钮我想移动一个活动,但我不知道如何从一个片段切换到一个活动。

【问题讨论】:

1) 适配器不能有 Button 或任何其他类型的 View,2) 你不能移动 Activity 3) 那么你到底想实现什么? 他想移动到一个活动,我想而不是移动一个活动:) “移动到一个活动”?您既不能移动 Activity 也不能移动到 Activity...您可以做的是启动 Activity... 这不是语法课!他想开始一个新的活动。你需要睡眠伴侣:) @Skynet 我在 customadapter 中有一个 textView,我想从中移动到另一个活动,我可以移动还是不移动。 【参考方案1】:

试试这个:

private void moveToNewActivity () 

    Intent i = new Intent(getActivity(), DetailActivity.class);
    startActivity(i);
    ((Activity) getActivity()).overridePendingTransition(0, 0);


overridePendingTransition(0,0); 表示没有动画过渡。

Check This,它将让您大致了解如何使用 onClickListener 从 Fragment 中启动新的 Activity。

【讨论】:

startActivity 方法不能像你说的那样在片段中访问。它必须使用使用 getActivity() 返回的上下文调用此方法。 我在一个下载量约为 10000 的生产项目中使用上述代码,但没有发现任何问题。如果您可以考虑通读,它会提供上下文。 是的,但不在扩展 Fragment 的类而不是扩展 Activity 的类中 在扩展 Fragment 的类内部。试试这个:) ***.com/questions/12074608/…【参考方案2】:

如果有人在 Kotlin 中使用数据绑定查找此内容,请在您的 Fragment 类中执行此操作:

binding.openActivityButton.setOnClickListener 
    val intent = Intent(this@YourFragmentName.requireContext(), YourActivityName::class.java)
    startActivity(intent)

YourFragmentName 替换为您的片段名称,将YourActivityName 替换为您的活动名称。

【讨论】:

以上是关于如何从一个片段移动到一个活动的主要内容,如果未能解决你的问题,请参考以下文章

想要使用片段从导航抽屉活动移动到另一个屏幕,以在所有屏幕上显示抽屉

如何在单击 RecyclerView 项目时从一个片段移动到另一个片段

onDetach()不要求从一个片段移动到另一个片段

导航抽屉活动:在按钮单击时从片段移动到片段

设置onclick侦听器在android中无法从一个片段移动到另一个活动[重复]

导航组件:将 safeArgs 从活动传递到片段