【问题标题】:I'm trying to create a search function that would call a fragment having somewhat similar name than what is searched. Has anyone done this?我正在尝试创建一个搜索功能,该功能将调用名称与搜索内容有些相似的片段。有人做过吗?
【发布时间】:2020-02-19 09:43:57
【问题描述】:

我已经有 几十个 片段,每个片段都显示自己的信息。现在——如果可能的话——我正在尝试添加一个搜索框来显示相关片段名称的列表。我根据它们包含的内容命名它们并启动被点击的那个。

我正在考虑使用Activity.getsupportfragmentmanager().findfragmentbyID 函数,但是片段需要在活动中启动,这与我需要的相差甚远。

这里有人可以指点我正确的方向吗?

【问题讨论】:

  • 据我了解,您可以将名称(预定义)保存在 ArrayList 中,搜索时会引用该名称。一旦用户选择了Fragment,您将不得不在当前Activity 上动态加载该特定片段。为此,您必须使用 FragmentManagerFragmentTransaction。你可以在这里阅读更多内容dev2qa.com/android-add-fragment-to-activity-dynamically-example

标签: android search android-activity fragment


【解决方案1】:

Activity.getSupportFragmentManager().findFragmentByID 查找位于该 ID 的 xml 布局中的当前片段

如果你这样做FragmentManager.beginTransaction().replace(R.id.whatever,fragment1).commit()

然后做Activity.getSupportFragmentManager().findFragmentByID(R.id.whatever)

它会找到fragment1

然后在你做完之后

FragmentManager.beginTransaction().replace(R.id.whatever,fragment2).commit()
Activity.getSupportFragmentManager().findFragmentByID(R.id.whatever)

它会找到fragment2

如果每个片段都有自己的 ID,则此方法将起作用。

【讨论】:

    猜你喜欢
    • 2021-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-20
    • 2023-04-03
    • 2013-08-20
    • 2021-03-29
    • 2011-01-09
    相关资源
    最近更新 更多