Mow*_*Joe 7 android actionbarsherlock android-actionbar android-listfragment
所以,我正在阅读这个早先的问题,想知道如何让我点击列表中的项目来执行一个操作,或者长按该项目以切换到ActionMode,我可以在其中选择多个项目并使用ActionBar执行某些操作到那些项目.但是,我对这个答案有疑问.具体来说,我将其实现为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
Run Code Online (Sandbox Code Playgroud)
当我删除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);
}
}
Run Code Online (Sandbox Code Playgroud)
我很困惑.为什么实现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.*;
Run Code Online (Sandbox Code Playgroud)
正如reddit的善良人士已经通知我,显然ActionBarSherlock目前不支持MultiChoiceModeListener.当侦听器想要原生Android菜单时,我正在使用ActionBarSherlock的菜单,这也可能导致问题.
| 归档时间: |
|
| 查看次数: |
3154 次 |
| 最近记录: |