Por lo tanto, estaba leyendo this earlier question para obtener ideas sobre cómo permitirme hacer clic en un elemento de una lista para hacer una acción o mantener presionado ese elemento para cambiar a un modo de acción donde puedo seleccionar varios elementos y usa la Barra de acciones para hacer algo con esos elementos. Sin embargo, tengo problemas con this answer. Específicamente, estoy implementando esto en un SherlockListFragment (usando ActionBarSherlock). Sin embargo, en el momento en que declaro un nuevo MultiChoiceModeListener, Eclipse arroja un par de errores de compilación.MultiChoiceModeListener causando problemas con SherlockListFragment
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
Estos desaparecen en el momento en que elimino MultiChoiceModeListener. No tengo idea de qué podría estar causando esto, ya que no hay nada extraño que yo sepa.
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);
}
}
Estoy muy confundido. ¿Por qué la implementación de MultiChoiceModeListener significa que no puedo anular OnOptionsItemSelected?
EDITAR: Para ayudar a aclarar, aquí están mis importaciones.
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.*;
Pruebe esto http://stackoverflow.com/questions/14737519/implementing-multi-selection-and-contextual-actionmode-in-actionbarsherlock/14737520#14737520 –