5

我想在 Fragment Android 中实现 Action Mode Compact。但我收到错误我的代码中的 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;
                }
        });

getActivity().startSupportActionMode(modeCallBack);在如何修复它时出错?

4

3 回答 3

18

从这个ActionBarActivity startSupportActionMode (ActionMode.Callback callback)是用于 ActionBar的ActionBarActivity的方法

如果您的Activity扩展名ActionBarActivity可以设置为 .

对于 ActionBarActivity

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

对于活动

getActivity().startActionMode(modeCallBack);
于 2014-07-24T06:37:21.963 回答
4

试试这个

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

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

                return true;
            }
    });
于 2017-08-12T10:48:06.963 回答
0

添加对 setHasOptionsMenu(true) 的调用;在

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

    setHasOptionsMenu(true);

}
于 2017-05-11T16:49:13.080 回答