Tôi đang gọi phương thức setAdapter()
trong một lớp mở rộng Fragment
. Lưu ý rằng tôi đã nhập android.support.v4.app.Fragment
.setAdapter "Cuộc gọi yêu cầu cấp API 11 (min hiện tại là 8): android.widget.AbsListView # setAdapter"?
Tuy nhiên tôi nhận được một lỗi nói rằng mức API được yêu cầu để được cấp 11.
gì tôi phải làm như vậy mà tôi có thể sửa lỗi này mà không thay đổi minSdkVersion="8"
để 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
}
}
}
Note : Tôi đã thử giảm targetSdkVersion xuống 10. Tuy nhiên, tôi nhận được lỗi. Hãy giúp tôi!
Chỉnh sửa: Tôi không hiểu tại sao nó được gọi là AbsListVew
khi tất cả những gì tôi đã sử dụng là ListView
. Ngoài ra, lưu ý rằng tôi đã sử dụng một bộ điều hợp tùy chỉnh.
EventListAdapter
kéo dài ArrayAdaptere<ListContent>
và hiển thị KHÔNG L ERI.
Đối với các bạn tham khảo ở đây là xml bố trí đoạn mã cho 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" />
Hãy ủng hộ chắc chắn rằng bạn đang mở rộng đoạn ... chỉ cần loại bỏ việc nhập và thay đổi nó –