如何从一个片段移动到一个活动
Posted
技术标签:
【中文标题】如何从一个片段移动到一个活动【英文标题】:How to move from a one fragment to an activity 【发布时间】:2015-05-11 18:43:22 【问题描述】:我正在为片段处理 CustomListView
和 CustomAdapter
扩展自 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 项目时从一个片段移动到另一个片段