我原以为这很容易,但事实证明它比我想象的要困难。我只想确定两个片段何时在我的一个片段中的屏幕上可见。我不确定是否onCreate
是最好的地方,但我尝试了onResume
, onActivityCreated
,onResume
和. 我认为这些片段对代码实际上是不可见的,直到稍后,但不确定。onCreateView
onAttach
这是我正在尝试使用的代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:orientation="horizontal"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
>
<fragment android:name="com.app.Fragment1"
android:id="@+id/fragment1"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="fill_parent"
/>
<fragment android:name="com.app.Fragment2"
android:id="@+id/fragment2"
android:layout_width="0dp"
android:layout_weight="2"
android:layout_height="fill_parent"
/>
</LinearLayout>
public class Fragment2 extends SherlockListFragment
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
final Fragment1 f1 = (Fragment1)getFragmentManager().findFragmentById(R.id.fragment1);
final Fragment2 f2 = (Fragment2)getFragmentManager().findFragmentById(R.id.fragment2);
Boolean isVisible = (f1 != null && f1.isVisible() && f2 != null && f2.isVisible());
}
}