我正在使用日食。我确实添加了支持库。相同的代码可在任何带有Epi hiegher(而不是3.0)的设备或仿真器上工作,但不适用于2.2
这是代码
public class Main_View extends FragmentActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
}
}
xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<fragment
android:id="@+id/fragment2"
android:name="com.oent.bib_med.Cathegorie_List"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
<fragment
android:id="@+id/fragment1"
android:name="com.oent.bib_med.Books_List"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="3"
/>
</LinearLayout>
片段类具有相同的代码
public class Books_List extends ListFragment{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
String[] books = {"a","b","c","d","e","f","g","h","i"};
ArrayAdapter <String> booksAdapter =
new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1,books );
setListAdapter(booksAdapter);
}
}
本地猫:
10-06 00:41:33.044:E / AndroidRuntime(408):致命异常:主要
10-06 00:41:33.044:E / AndroidRuntime(408):java.lang.IllegalStateException:ArrayAdapter要求资源ID为TextView
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:347)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.widget.ArrayAdapter.getView(ArrayAdapter.java:323)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.widget.AbsListView.obtainView(AbsListView.java:1315)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.widget.ListView.measureHeightOfChildren(ListView.java:1198)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.widget.ListView.onMeasure(ListView.java:1109)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.view.View.measure(View.java:8171)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.view.View.measure(View.java:8171)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.view.View.measure(View.java:8171)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.view.View.measure(View.java:8171)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.widget.LinearLayout.measureVertical(LinearLayout.java:381)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.view.View.measure(View.java:8171)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.view.View.measure(View.java:8171)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.widget.LinearLayout.measureVertical(LinearLayout.java:526)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.view.View.measure(View.java:8171)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.view.View.measure(View.java:8171)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.view.ViewRoot.performTraversals(ViewRoot.java:801)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.view.ViewRoot.handleMessage(ViewRoot.java:1727)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.os.Handler.dispatchMessage(Handler.java:99)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.os.Looper.loop(Looper.java:123)
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.app.ActivityThread.main(ActivityThread.java:4627)
10-06 00:41:33.044:E / AndroidRuntime(408):at java.lang.reflect.Method.invokeNative(本机方法)
10-06 00:41:33.044:E / AndroidRuntime(408):at java.lang.reflect.Method.invoke(Method.java:521)
10-06 00:41:33.044:E / AndroidRuntime(408):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)
10-06 00:41:33.044:E / AndroidRuntime(408):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
10-06 00:41:33.044:E / AndroidRuntime(408):在dalvik.system.NativeStart.main(本机方法)
10-06 00:41:33.044:E / AndroidRuntime(408):由以下原因引起:java.lang.ClassCastException:com.android.internal.widget.WeightedLinearLayout
10-06 00:41:33.044:E / AndroidRuntime(408):位于android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:340)
10-06 00:41:33.044:E / AndroidRuntime(408):... 38更多
最佳答案
API低于11的版面simple_list_item_activated_1
不存在。这就是为什么它崩溃的原因。
关于java - android fragment 可以在api 3.0上使用,但不能在2.2上使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19203885/