2014-07-24 61 views
3

我想要在Fragment Android中實現Action Mode Compact。但我得到的錯誤方法startSupportActionMode(ActionMode.Callback)是未定義的類型FragmentActivity在我的代碼:在getActivity().startSupportActionMode(modeCallBack);對於類型FragmentActivity,未定義startSupportActionMode(ActionMode.Callback)方法嗎?

list.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { 
       @Override 
       public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { 
        getActivity().startSupportActionMode(modeCallBack); 

        return true; 
       } 
     }); 

得到錯誤如何解決它?

回答

14

從這個ActionBarActivitystartSupportActionMode (ActionMode.Callback callback)ActionBarActivity的方法,如果你的Activity延伸ActionBarActivity你可以設置像它用於動作條

對於ActionBarActivity

ActionBarActivity activity=(ActionBarActivity)getActiivty(); 
activity.startSupportActionMode(modeCallBack); 

對於活動

getActivity().startActionMode(modeCallBack); 
+0

我的活動延伸片段先生,,, –

+0

現在改變這種line.thats足以讓您的要求 –

+0

我得到這個eror「的方法startActionMode(ActionMode.Callback)在類型活動不適用的參數(ActionMode.Callback)'.. 我已閱讀startSupportActionMode以兼容爲Android 2.3,我想這個 –

0

附加呼叫setHasOptionsMenu(真);在

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setHasOptionsMenu(true); 

} 
0

試試這個

list.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { 
      @Override 
      public boolean onItemLongClick(AdapterView<?> parent, View view, 
    int position, long id) { 

    ((AppCompatActivity) getActivity()).startSupportActionMode(mActionModeCallback); 

       return true; 
      } 
    }); 
相關問題