android – MultiChoiceModeListener导致SherlockListFragment出现问题

前端之家收集整理的这篇文章主要介绍了android – MultiChoiceModeListener导致SherlockListFragment出现问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以,我在读 this earlier question,了解如何让我在列表中单击一个项目做一个动作或长按该项目,以切换到ActionMode在那里我可以选择多个项目,并使用动作条做一些这些想法项目.但是,我遇到了 this answer的问题.具体来说,我将其实现为SherlockListFragment(使用ActionBarSherlock).但是,当我声明一个新的MultiChoiceModeListener时,Eclipse会抛出一些编译错误.
Description Resource    Path    Location    Type
Cannot override the final method from SherlockListFragment  DateTimeListFragment.java   /path/to/my/project line 127    Java Problem
The method inflate(int,Menu) in the type MenuInflater is not applicable for the arguments (int,Menu)  DateTimeListFragment.java   /path/to/my/project line 125    Java Problem

当我删除MultiChoiceModeListener时,这些消失了.我不知道是什么原因造成的,因为我知道并没有什么奇怪的事情发生.

public void onCreateOptionsMenu(Menu menu,MenuInflater inflater)
    {
        //super.onCreateOptionsMenu(menu,inflater);
        inflater.inflate(R.menu.alarmsmenu,menu); //line 125
    }
    public boolean onOptionsItemSelected(MenuItem Item) //line 127
    {
        switch(Item.getItemId())
        {
        case R.id.addAlarm:
            addAlarm();
            return true;
        case R.id.editAlarms:
            return true;
        default:
            return super.onOptionsItemSelected(Item);
        }       
    }

我很困惑.为什么实现MultiChoiceModeListener意味着我不能覆盖OnOptionsItemSelected?

编辑:为了帮助澄清,这是我的进口.

import java.util.Calendar;
import java.util.GregorianCalendar;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.support.v4.app.*;
import android.support.v4.content.Loader;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView.MultiChoiceModeListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.DatePicker;
import android.widget.ListView;
import android.widget.TimePicker;

import com.actionbarsherlock.app.SherlockListFragment;
import com.actionbarsherlock.app.ActionBar; //Yes,it's unused...
import com.actionbarsherlock.view.*;
import com.commonsware.cwac.loaderex.acl.*;

解决方法

作为 a kind person from reddit has notified me,显然ActionBarSherlock目前不支持MultiChoiceModeListener.当侦听器想要原生Android菜单时,我正在使用ActionBarSherlock的菜单,这也可能导致问题.
原文链接:https://www.f2er.com/android/315433.html

猜你在找的Android相关文章