0
我一直在尋找了幾個小時,我不能得到這個工作:片段與自己的動作條項目
我有2個片段,我在他們每個人的操作欄中添加不同的菜單項。
它的工作,你可以看到,但我要的是一個項目停留在他的片段「幀」(但仍然在操作欄)的項目應分開並留在喜歡在自家的片段的頂部下面的圖片。
我讀過我需要調用setHasOptionsMenu在每個片段的方法的onCreate(),但它仍然無法正常工作,因爲我想。
這是我的代碼:
MainActivity(託管我2個片段)
public class MainActivity extends SherlockFragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Frag1 f1 = new Frag1();
Frag2 f2 = new Frag2();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.frag1, f1);
ft.replace(R.id.frag2, f2);
ft.commit();
}
}
activity_main.xml中
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<LinearLayout
android:id="@+id/frag1"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:layout_weight="1"
>
</LinearLayout>
<LinearLayout
android:id="@+id/frag2"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:layout_weight="1"
>
</LinearLayout>
</LinearLayout>
Frag1.java
public class Frag1 extends SherlockFragment{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.frag_content, container, false);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
menu.add(0, 12, 1, "Frag 1").setTitle("MENU ITEM 1").setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
}
}
Frag2.java
public class Frag2 extends SherlockFragment{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.frag_content2, container, false);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
menu.add(5, 15, 101, "Frag 2").setTitle("MENU ITEM 2").setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
}
}
的碎片的佈局是含有一個TextView
可能有人請點我正確的解決方案簡單的LinearLayout?