0

我一直在尋找了幾個小時,我不能得到這個工作:片段與自己的動作條項目

我有2個片段,我在他們每個人的操作欄中添加不同的菜單項。 enter image description here

它的工作,你可以看到,但我要的是一個項目停留在他的片段「幀」(但仍然在操作欄)的項目應分開並留在喜歡在自家的片段的頂部下面的圖片。

enter image description here

我讀過我需要調用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?

回答