Llamo al método setAdapter()
en una clase que se extiende Fragment
. Tenga en cuenta que he importado android.support.v4.app.Fragment
.setAdapter "La llamada requiere el nivel 11 de API (el mínimo actual es 8): android.widget.AbsListView # setAdapter"?
Sin embargo me sale un error que indica que el nivel de la API es necesaria para estar al mismo nivel 11.
¿Qué tengo que hacer para que pueda solucionar este problema sin cambiar minSdkVersion="8"
a minSdkVersion="11"
package foo.bar.qux;
import java.util.Calendar;
import java.util.Date;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import android.support.v4.app.Fragment;
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
public class TabFragmentList extends Fragment {
String category, xml;
NodeList nodes;
int numResults;
private ListView lv;
Date date;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (container == null) return null;
return (LinearLayout) inflater.inflate(R.layout.eventlist, container,
false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Activity activity = getActivity();
if (activity != null) {
final Calendar c = Calendar.getInstance();
ListContent[] item = new ListContent[3];
category = (String) activity.getIntent().getExtras()
.get("category");
xml = (String) activity.getIntent().getExtras().get("xml");
TextView tv = (TextView) getView().findViewById(R.id.category);
tv.setText(category);
nodes = doc.getElementsByTagName("event");
for (int i = 0; i < 3; i++) {
c.add(Calendar.DATE, 1);
date = c.getTime();
item[i] = new ListContent();
item[i].setList(nodes, category, date);
}
EventListAdapter adapter = new EventListAdapter(activity,
R.layout.eventlist_row, item);
lv = (ListView) getView().findViewById(R.id.listView1);
lv.setAdapter(adapter); // ERROR SHOWN HERE
}
}
}
Nota : Intenté reducir el targetSdkVersion a 10. Sin embargo, recibo el error. ¡Por favor ayuda!
Editar: No entiendo por qué se llama AbsListVew
cuando todo lo que he usado es ListView
. Además, tenga en cuenta que he usado un adaptador personalizado.
EventListAdapter
extiende ArrayAdaptere<ListContent>
y muestra SIN ERROR.
Para su referencia aquí es el diseño fragmento de código XML para R.id.ListView1
<ListView
android:layout_margin="10dp"
android:dividerHeight="10.0sp"
android:id="@+id/listView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
Hacer el apoyo seguro de que está extendiéndose fragmento ... solo elimine la importación y cámbiela –