问题标签 [fragmenttransaction]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - findFragmentByTag() 在使用 replace() 方法执行 FragmentTransaction 后返回 null
我的 Android 应用程序包含三个片段: A、B 和 C。它们被加载到MainActivity
布局中定义的两个容器中。
当应用程序启动时,它会显示在 left_container 中加载的 fragmentA和在 right_container 中加载的fragmentC。
如果您按下fragmentA中的按钮,a将FragmentCFragmentTransaction
更改为FragmentB。
目前一切正常。但是,当我尝试使用 获取对已加载片段 B 的引用时,就会出现问题 findFragmentByTag()
,因为它会返回null
。我在 中使用了方法 replaceFragmentTransaction
并用 完成了它commit()
,但是没有办法调用FragmentB方法。我的代码:
MainActivity.java:
片段B.java:
活动主.xml:
片段_b.xml:
请帮我!我是Android开发的初学者!
android - Android Fragments 变化
我使用 Android Studio 构建 android 应用程序。
我的问题是:当片段更改时,应用程序崩溃。
控制台输出 [控制台]
容器布局代码 [container.xml]
片段活动布局代码 [fragment_activity.xml]
主要活动代码 [MainActivity.java]
分片下一个布局代码 [fragment_next.xml]
片段代码 [FragmentNext.java]
android - 分片交易放在哪里?
我希望在应用程序启动后显示主页片段,这意味着在单击菜单项之前,我应该将片段事务放在哪里?谢谢!
android - back stack and statically added fragment
I have a fragment added statically from XML I want to replace this fragment by another fragment, I did that by adding this code:
the problem is that when I press the back button the first fragment is not shown because it was not added through a transaction and the manager doesn't know about it, is there a way I could add the first fragment (ALREADY ADDED FROM XML), to my backstack or I could just show it when I click back instead of exiting the app ? Thanks !
android - 片段后面的不可见布局被点击:
我创建了几个片段,并通过以下方式添加第一个片段:
第二个片段是这样添加的:
现在,正如您所见,该事务未应用 hide 方法,并且VenueFragment
已打开,但在这种情况下,问题是当VenueFragment
打开(并且它是全屏视图)按下此片段的空白部分时会调用MainFragment
可点击视图的调用. 我怎样才能防止这种情况?
如果我使用隐藏选项,那么它不会发生,但由于某种原因,用于删除的动画MainFragment
正在上升,这会产生一种奇怪的体验。
android - 启动 AsyncTask 时出现空指针异常,尽管 onCreate 似乎包含所有变量
我遇到了 Fragment 和 AsyncTask 的问题。问题是我正在创建一个片段来运行 AsyncTask 来运行计时器。该代码独立于我的所有其他代码工作,我已经对其进行了多次测试。问题是当我将新代码放入我的应用程序时,此时我得到一个空指针:
推动错误的实际行是:if(mTaskFragment.isRunning()){
. 此代码链接到以下内容:
从以下调用:
上面的代码就足够了,在我的 TaskFragment Activity with Logs 中,我可以看到我发送的变量被用作倒计时的 startTime,如下所示:
话虽如此,此代码可作为独立代码运行并提供预期结果。问题是当我将它连接到我的应用程序时,似乎虽然值移动到 Fragment 我无法启动 Asynctask。以下是我到目前为止的代码。
这是TaskFragment.class包com.vertygoeclypse.multitimer;
MainActivity 有点长,所以我希望没有人不高兴,但我认为如果没有看到代码,就无法做出正确的评估。
对此的任何帮助将不胜感激。
问候
钦乔伊
android - 如何将片段添加到 DialogFragment 的布局中?
我有一个自定义DialogFragment
,其中包含一个布局、一些 UI 元素和一个 Fragment holder 布局。我需要做的是将内容片段膨胀到支架布局中并在其中提供导航。单击添加的片段内的按钮时,视图将导航到另一个视图。该片段将被同一持有者中的另一个片段替换,contentFragment1
即将显示一些数据,并在单击预览按钮时将替换contentFragment1
为contentFragment2
。我在某处读到,您无法将硬编码的片段替换为xml
另一个片段。所以我试图添加contentFragment1
到对话框片段的viewholder
from the中。onActivityCreated()
但是我收到一个错误,即R.id.fragmentHolder
找不到指向的资源。可能的原因是什么?
这是我的代码DialogFragment
:
android - 通过 onListItemClick() 改变 Activity 内部的 Fragments
我有这个活动,它首先显示一个带有元素列表的片段。这与此代码完美配合:
好吧,我有一个ListFragment
和一个DetailFragment
。但是当我单击列表的一个元素时,我不知道如何进行转换。我知道fragmentTransaction.replace()
,但我不知道何时调用它。
我以为我应该使用OnListItemClick()
内部ListFragment
,但我不知道如何FragmentManager
在 Fragment 内部而不是在主 Activity 中使用......我还想将一些数据“导出”到DetailFragment
就好像它是一个 Intent 一样,但是它不是。
android - 在正在进行的 FragmentTransaction 期间更改片段的 z 顺序
有没有办法改变正在进行的 FragmentTransaction 期间显示的片段的 z 顺序?我有一个动画,其中两个片段相互重叠,我希望从右侧滑动的片段(第二个片段)显示在另一个向左滑动的片段下方。现在它们在交易过程中以相反的顺序显示。
这是我的一个动画的代码:
这是交易的代码
我想让fragmentToHide
出现在fragmentToShow
. 我试图解决这个android:zAdjustment
属性,但由于它显然只适用于窗口动画,它对我不起作用。
android - Android片段重叠
我有一个包含两个片段的活动,一个显示列表,一个显示单击项目的详细信息。启动应用程序时,详细信息部分是静态的,一旦我单击一个项目,它就会被替换。问题是旧片段没有被替换,所以两个视图都在彼此之上。
我的活动布局是:
细节片段的布局是:
在上面的布局中,我们也看到了最初看到的静态文本。我活动中替换片段的代码是这样的
对我来说,它看起来不是“替换”而是“添加”。我是否必须始终删除旧片段?还是我必须在这里采用不同的方法?在我看来,只有原始片段保留在那里,并且在第二个,第三个,......替换前一个片段被正确替换,只有静态片段始终保留在那里。