Articles of android fragments

android:我如何检查dialogfragment是否显示

我使用启动我的对话框片段 FragmentTransaction ft = getFragmentManager().beginTransaction(); MyDialogFragment dialog = new MyDialogFragment() dialog.show(ft, "dialog"); 然后去处理它我做的 Fragment prev = getFragmentManager().findFragmentByTag("dialog"); 但是一旦我得到了prev ,我该如何检查它是否显示? 背后的故事 我的问题是,我的循环代码不断启动一次又一次的对话框。 但如果对话已经显示,我不希望它再次启动。 这个背后的故事只是为了上下文。 我所寻求的答案不是:“把它从循环中移出来”。

Android片段中的自定义属性

我想定义自定义属性在Android片段使用XML(不使用捆绑额外的参数)像declare-styleable中的declare-styleable 。 但是没有AttrSet参数的构造函数,所以有可能吗? 我可以重写public void onInflate(android.app.Activity activity, android.util.AttributeSet attrs, android.os.Bundle savedInstanceState)以获得属性支持?

获取片段的容器视图ID

我有一个片段添加使用 transaction.add(R.id.content, fragment, null); 我需要从这个开始新的片段。 但要做到这一点,我需要知道第一个片段的容器视图id(R.id.content在我的情况)。 我怎样才能得到这个? 我可以直接使用这个ID,但我想片段不应该知道这样的父母活动的细节。 例如,在这种情况下,将不可能在另一个活动中使用这个片段。 可能是从另一个“开始”片段是一个不好的做法,所有的片段处理逻辑应该由活动本身处理? 但创build好的片段序列看起来相当有用(例如detalView-> moreDetailView-> evenMoreDetailView)。