问题标签 [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 - Android:对话框片段和 Backstack 问题
所以可以说我有以下片段:
Fragment1 Fragment2 对话框Fragment Fragment3 Fragment4
假设我转到以下片段,每个片段都添加到后堆栈:
如果我单击 BACK 按钮,这通常会转到Fragment3,但会显示DialogFragment。
这是我使用的片段事务:
片段 1 -> 片段 2
Fragment2 -> DialogFragment
DialogFragment -> Fragment3
片段 3 -> 片段 4
同样的问题是,当我在 Fragment4 中并单击 BACK 按钮时,会显示 DialogFragment 而不是 Fragment3。
android - 在 FragmentPagerAdapter 的 1 个选项卡中提交 FragmentTransaction
我FragmentPageAdapter
过去常常在我的应用程序中有多个选项卡。这些选项卡中的 1 个ListFragment
是应该被另一个片段替换的onItemClick
,使用FragmentTransaction
.
如果我ListFragment
在. FrameLayout
_Activity
FragmentPagerAdapter
这是一个更好的解释:
单击片段列表视图中的一项后,应该像这样替换它
我尝试使用.replace(((ViewGroup)getView().getParent()).getId(), newFragment).commit()
,但它不起作用。
android - 当我从另一个片段返回时,如何使片段与我离开它时的方式完全相同?
我的应用程序中有一些片段,但每次单击按钮时我的代码都会打开一个新片段。
我想知道如何更改这一点,并使片段返回到与我离开时完全相同的状态。
我现在使用的代码:
谢谢!
java - 我有一个 ArrayList 片段,我无法删除 ViewPager 中的一些片段
这是我用来删除片段的方法
问题是,使用该方法似乎没有发生任何事情,我选择销毁的片段上没有 OnDestroy 调用。
到目前为止唯一有效的方法是 getItemPosition 技巧,但我不能使用它,因为它会破坏所有片段并重新创建它们,并且由于我的片段具有动态内容,因此删除所有内容并重新创建效率不高。
那么有没有办法专门从片段的 ArrayList 中删除特定的片段。并有效地更新适配器?
android - Fragment android,不执行oncreateview方法
我与您联系是因为我在 10 天内遇到了这个问题:
如果我尝试使用此代码,则没有问题,在方法“Oncreateview”中执行 ft.commit 后
但是,如果我尝试在 ft.commit 之后添加此代码
我不会更多地使用“Oncreateview”方法
为什么?怎么了?
如何恢复给定 ID 的片段?
非常感谢,对不起我的英语
android - FragmentTransaction.replace replaces only first Fragment in a container
I have two fragments in a single container (say A and B) added in a single transaction. I try to replace them with C. According to the documentation, replace should remove all fragments from a specified container and then add new one. Instead, it replaces only first one. So I end up with B and C fragments. This confuses me a lot. Is it a bug or what?
I already know that adding several fragments to single container is considered bad practice. But I'm curious anyway.
UPDATE: found that before : http://code.google.com/p/android/issues/detail?id=28452
android - Hide fragment leaving empty space
I have a LinearLayout which has 3 containers (also LinearLayouts), and these have weight=1
. Here is that layout:
In each of these containers I add by 1 fragment:
So now they are positioned like this:
When I click on a button I want to hide first to fragments together with their containers and show new fragment that is on the right of fragment3
. So I would have something like this:
When I click on the button I use this to hide the fragments:
It hides the fragments together with their containers but the screen I get looks like this:
Here empty
means totally empty, no fragment, no container, nothing, just empty space there.
So, my question is how to hide the fragments without leaving the blank space there?
android - setCustomAnimation 回调前后的 FragmentTransaction
我正在使用自定义动画来替换片段,我想在动画开始时禁用一些按钮,然后在动画结束时启用。我怎样才能做到这一点?
java - 如何动态创建片段?
我有两个片段。(其中一个有一个编辑文本和一个按钮,另一个只有一个列表视图)我想使用片段事务动态创建它们。但是当我尝试这样做时,我的应用程序无法启动。我的代码做错了什么?
AddToDoFragment.java
}
MainActivity.java
ToDoListFragment.java
}
activity_main.xml
日志猫
- 10-29 17:21:59.783: D/AndroidRuntime(788): 关闭虚拟机
- 10-29 17:21:59.783: W/dalvikvm(788): threadid=1: 线程以未捕获的异常退出 (group=0x414c4700)
- 10-29 17:21:59.863:E/AndroidRuntime(788):致命异常:主要
- 10-29 17:21:59.863: E/AndroidRuntime(788): java.lang.RuntimeException: 无法启动活动 ComponentInfo{com.example.todolistwithdynamicfragments/com.example.todolistwithdynamicfragments.MainActivity}: java.lang.NullPointerException
- 10-29 17:21:59.863: E/AndroidRuntime(788): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
- 10-29 17:21:59.863: E/AndroidRuntime(788): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
- 10-29 17:21:59.863: E/AndroidRuntime(788): 在 android.app.ActivityThread.access$600(ActivityThread.java:141)
- 10-29 17:21:59.863: E/AndroidRuntime(788): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
- 10-29 17:21:59.863: E/AndroidRuntime(788): 在 android.os.Handler.dispatchMessage(Handler.java:99)
- 10-29 17:21:59.863: E/AndroidRuntime(788): 在 android.os.Looper.loop(Looper.java:137)
- 10-29 17:21:59.863: E/AndroidRuntime(788): 在 android.app.ActivityThread.main(ActivityThread.java:5103)
- 10-29 17:21:59.863: E/AndroidRuntime(788): 在 java.lang.reflect.Method.invokeNative(Native Method)
- 10-29 17:21:59.863: E/AndroidRuntime(788): 在 java.lang.reflect.Method.invoke(Method.java:525)
- 10-29 17:21:59.863: E/AndroidRuntime(788): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
- 10-29 17:21:59.863: E/AndroidRuntime(788): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
- 10-29 17:21:59.863: E/AndroidRuntime(788): at dalvik.system.NativeStart.main(Native Method)
- 10-29 17:21:59.863: E/AndroidRuntime(788): 由: java.lang.NullPointerException 引起
- 10-29 17:21:59.863: E/AndroidRuntime(788): 在 com.example.todolistwithdynamicfragments.MainActivity.onCreate(MainActivity.java:40)
- 10-29 17:21:59.863: E/AndroidRuntime(788): 在 android.app.Activity.performCreate(Activity.java:5133)
- 10-29 17:21:59.863: E/AndroidRuntime(788): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
- 10-29 17:21:59.863: E/AndroidRuntime(788): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
- 10-29 17:21:59.863: E/AndroidRuntime(788): ... 11 更多
- 10-29 17:22:27.032: I/Process(788): 发送信号。PID:788 SIG:9
android - 导航返回时保留片段状态
我的(阅读)应用程序由一个(MainActivity)和几个其他片段组成。
我有一个LibraryFragment
列出所有保存的文章和一个ReadingFragment
(用于阅读文章)
一篇文章可以包含链接,当用户单击链接时,我正在使用片段.replace
事务来显示 的新实例ReadingFragment
,现在当我单击后退按钮时,我当前的片段被删除并显示旧片段,它使用它再次加载内容的参数(但我失去了滚动位置)
我曾尝试使用.add
事务,但由于某种原因,添加的片段覆盖了前一个片段。
我的代码:
我想保留片段的布局和状态,每次用户单击链接时添加一个新实例,并在用户导航返回时立即恢复片段。(就像我使用 startActivity 时会做的那样)
更新
我正在片段的onActivityCreated(Bundle savedInstanceState)
回调中加载内容