Methnani Bilel
Methnani Bilel

Reputation: 1385

android fragment working on api 3.0 but not on 2.2

i m using eclipse. i did add the support library. the same code works on any device or emulator with with an epi hiegher then 3.0, but not 2.2 this is the code

  public class Main_View extends FragmentActivity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_layout);   
    }
}

The xml file:

<?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>

the fragments classes have the same code

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);

    }

}

LoCcat: 10-06 00:41:33.044: E/AndroidRuntime(408): FATAL EXCEPTION: main 10-06 00:41:33.044: E/AndroidRuntime(408): java.lang.IllegalStateException: ArrayAdapter requires the resource ID to be a TextView 10-06 00:41:33.044: E/AndroidRuntime(408): at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:347) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.widget.ArrayAdapter.getView(ArrayAdapter.java:323) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.widget.AbsListView.obtainView(AbsListView.java:1315) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.widget.ListView.measureHeightOfChildren(ListView.java:1198) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.widget.ListView.onMeasure(ListView.java:1109) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.view.View.measure(View.java:8171) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.view.View.measure(View.java:8171) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.view.View.measure(View.java:8171) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.view.View.measure(View.java:8171) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.widget.LinearLayout.measureVertical(LinearLayout.java:381) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.widget.LinearLayout.onMeasure(LinearLayout.java:304) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.view.View.measure(View.java:8171) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.view.View.measure(View.java:8171) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.widget.LinearLayout.measureVertical(LinearLayout.java:526) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.widget.LinearLayout.onMeasure(LinearLayout.java:304) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.view.View.measure(View.java:8171) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.view.View.measure(View.java:8171) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.view.ViewRoot.performTraversals(ViewRoot.java:801) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.view.ViewRoot.handleMessage(ViewRoot.java:1727) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.os.Handler.dispatchMessage(Handler.java:99) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.os.Looper.loop(Looper.java:123) 10-06 00:41:33.044: E/AndroidRuntime(408): at android.app.ActivityThread.main(ActivityThread.java:4627) 10-06 00:41:33.044: E/AndroidRuntime(408): at java.lang.reflect.Method.invokeNative(Native Method) 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): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 10-06 00:41:33.044: E/AndroidRuntime(408): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 10-06 00:41:33.044: E/AndroidRuntime(408): at dalvik.system.NativeStart.main(Native Method) 10-06 00:41:33.044: E/AndroidRuntime(408): Caused by: java.lang.ClassCastException: com.android.internal.widget.WeightedLinearLayout 10-06 00:41:33.044: E/AndroidRuntime(408): at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:340) 10-06 00:41:33.044: E/AndroidRuntime(408): ... 38 more

Upvotes: 1

Views: 131

Answers (1)

Ahmad
Ahmad

Reputation: 72553

The layout simple_list_item_activated_1 does not exist in API's lower than 11. This is why it crashes.

Upvotes: 1

Related Questions