Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to solve error implementing backwards compatibility API 12 to 7 of Android GridLayout
    primarykey
    data
    text
    <p>How do I make sure that newer features (API level 12) are made available for older API's (level 7)? I wish to use a block of RadioButtons. I do that within a gridLayout. I use Eclipse Juno for editing, Java compiler JDK compliance level set to 1.6. </p> <p>Upon saving the layout containing the gridLayout with RadioButtons it warned that that is not available in API level 7 so asked if I wanted to solve that to which I answered yes. </p> <p>I checked that instead of using GridLayout that type is (correctly?) referred to as android.support.v7.widget.GridLayout in the layout file. A node 'gridlayout_v7' with an empty src subdirectory was placed in the root of the project bij Eclipse.</p> <p>Android Support Library v.11 is installed.</p> <p>However when I run the program in the virtual device (Android 2.1 device) LogCat returns following erors and warnings:</p> <pre><code>09-16 08:21:44.068: E/AndroidRuntime(678): ERROR: thread attach failed 09-16 08:21:44.894: W/ResourceType(412): Resources don't contain package for resource number 0x7f0700e5 09-16 08:21:44.906: W/ResourceType(412): Resources don't contain package for resource number 0x7f020031 09-16 08:21:44.906: W/ResourceType(412): Resources don't contain package for resource number 0x7f020030 09-16 08:21:44.906: W/ResourceType(412): Resources don't contain package for resource number 0x7f050000 09-16 08:21:44.984: W/ResourceType(412): Resources don't contain package for resource number 0x7f060000 09-16 08:21:44.994: W/ResourceType(412): Resources don't contain package for resource number 0x7f060001 09-16 08:21:45.234: W/ResourceType(412): Resources don't contain package for resource number 0x7f0700e5 09-16 08:21:45.234: W/ResourceType(412): Resources don't contain package for resource number 0x7f020031 09-16 08:21:45.234: W/ResourceType(412): Resources don't contain package for resource number 0x7f020030 09-16 08:21:45.234: W/ResourceType(412): Resources don't contain package for resource number 0x7f050000 09-16 08:21:45.244: W/ResourceType(412): Resources don't contain package for resource number 0x7f060000 09-16 08:21:45.254: W/ResourceType(412): Resources don't contain package for resource number 0x7f060001 09-16 08:21:47.374: E/AndroidRuntime(689): ERROR: thread attach failed 09-16 08:21:47.844: W/dalvikvm(695): VFY: unable to resolve virtual method 2883: Landroid/support/v7/widget/ViewGroup;.onChildVisibilityChanged (Landroid/view/View;II)V 09-16 08:21:47.844: W/dalvikvm(695): VFY: unable to resolve virtual method 2885: Landroid/support/v7/widget/ViewGroup;.onInitializeAccessibilityEvent (Landroid/view/accessibility/AccessibilityEvent;)V 09-16 08:21:47.854: W/dalvikvm(695): VFY: unable to find class referenced in signature (Landroid/view/accessibility/AccessibilityNodeInfo;) 09-16 08:21:47.854: W/dalvikvm(695): VFY: unable to resolve virtual method 2886: Landroid/support/v7/widget/ViewGroup;.onInitializeAccessibilityNodeInfo (Landroid/view/accessibility/AccessibilityNodeInfo;)V 09-16 08:21:47.874: W/dalvikvm(695): VFY: unable to resolve virtual method 2887: Landroid/support/v7/widget/ViewGroup;.onSetLayoutParams (Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V 09-16 08:21:47.874: W/dalvikvm(695): VFY: unable to resolve virtual method 2888: Landroid/support/v7/widget/ViewGroup;.onViewAdded (Landroid/view/View;)V 09-16 08:21:47.874: W/dalvikvm(695): VFY: unable to resolve virtual method 2889: Landroid/support/v7/widget/ViewGroup;.onViewRemoved (Landroid/view/View;)V 09-16 08:21:47.884: W/dalvikvm(695): VFY: unable to resolve static method 3016: Landroid/view/View;.resolveSizeAndState (III)I </code></pre> <p>Error log shows no errors.</p> <p>Console shows following (no errors):</p> <pre><code>[2012-11-20 16:59:22 - SimpleScore] ------------------------------ [2012-11-20 16:59:22 - SimpleScore] Android Launch! [2012-11-20 16:59:22 - SimpleScore] adb is running normally. [2012-11-20 16:59:22 - SimpleScore] Performing nl.computerhuys.simplescore.MainActivity activity launch [2012-11-20 16:59:22 - SimpleScore] Automatic Target Mode: launching new emulator with compatible AVD 'VirtualAndroid2.1' [2012-11-20 16:59:22 - SimpleScore] Launching a new emulator with Virtual Device 'VirtualAndroid2.1' [2012-11-20 16:59:32 - Emulator] Warning: No DNS servers found [2012-11-20 16:59:33 - SimpleScore] New emulator found: emulator-5554 [2012-11-20 16:59:33 - SimpleScore] Waiting for HOME ('android.process.acore') to be launched... [2012-11-20 17:00:20 - SimpleScore] HOME is up on device 'emulator-5554' [2012-11-20 17:00:20 - SimpleScore] Uploading SimpleScore.apk onto device 'emulator-5554' [2012-11-20 17:00:22 - SimpleScore] Installing SimpleScore.apk... [2012-11-20 17:00:29 - SimpleScore] Success! [2012-11-20 17:00:29 - SimpleScore] Starting activity nl.computerhuys.simplescore.MainActivity on device emulator-5554 [2012-11-20 17:00:32 - SimpleScore] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=nl.computerhuys.simplescore/.MainActivity } </code></pre> <p>Full code of sourcecode file MainActivity.java:</p> <pre><code>package nl.computerhuys.simplescore; import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } } </code></pre> <p>Full code of layout file activity_main.xml: </p> <pre><code>&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res/nl.computerhuys.simplescore" android:layout_width="match_parent" android:layout_height="match_parent" &gt; &lt;TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginTop="133dp" android:text="@string/speler1" android:textAppearance="?android:attr/textAppearanceLarge" /&gt; &lt;TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/textView1" android:layout_marginTop="33dp" android:text="@string/speler2" android:textAppearance="?android:attr/textAppearanceLarge" /&gt; &lt;TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/textView2" android:layout_marginTop="33dp" android:text="@string/speler3" android:textAppearance="?android:attr/textAppearanceLarge" /&gt; &lt;android.support.v7.widget.GridLayout android:id="@+id/gridLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/textView1" android:layout_marginLeft="19dp" android:layout_marginTop="-5dp" android:layout_toRightOf="@+id/textView2" &gt; &lt;RadioButton android:id="@+id/radioButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_column="0" app:layout_gravity="right" app:layout_row="0" android:text="@string/score1" /&gt; &lt;RadioButton android:id="@+id/radioButton2" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_column="1" app:layout_gravity="left" app:layout_row="0" android:text="@string/score2" /&gt; &lt;RadioButton android:id="@+id/radioButton3" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_column="2" app:layout_row="0" android:text="@string/score3" /&gt; &lt;android.support.v7.widget.Space android:layout_width="100dp" android:layout_height="28dp" app:layout_column="0" app:layout_row="0" /&gt; &lt;/android.support.v7.widget.GridLayout&gt; &lt;android.support.v7.widget.GridLayout android:id="@+id/gridLayout2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@id/textView2" android:layout_marginLeft="19dp" android:layout_marginTop="-5dp" android:layout_toRightOf="@id/textView2" &gt; &lt;RadioButton android:id="@+id/RadioButton03" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_column="0" app:layout_gravity="right" app:layout_row="0" android:text="@string/score1" /&gt; &lt;RadioButton android:id="@+id/RadioButton02" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_column="1" app:layout_gravity="left" app:layout_row="0" android:text="@string/score2" /&gt; &lt;RadioButton android:id="@+id/RadioButton01" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_column="2" app:layout_gravity="left" app:layout_row="0" android:text="@string/score3" /&gt; &lt;android.support.v7.widget.Space android:layout_width="100dp" android:layout_height="28dp" app:layout_column="0" app:layout_row="0" /&gt; &lt;/android.support.v7.widget.GridLayout&gt; &lt;android.support.v7.widget.GridLayout android:id="@+id/gridLayout3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/textView3" android:layout_marginLeft="19dp" android:layout_marginTop="-5dp" android:layout_toRightOf="@id/textView2" &gt; &lt;RadioButton android:id="@+id/RadioButton05" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_column="0" app:layout_gravity="right" app:layout_row="0" android:text="@string/score1" /&gt; &lt;RadioButton android:id="@+id/RadioButton06" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_column="1" app:layout_gravity="left" app:layout_row="0" android:text="@string/score2" /&gt; &lt;RadioButton android:id="@+id/RadioButton04" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_column="2" app:layout_gravity="left" app:layout_row="0" android:text="@string/score3" /&gt; &lt;android.support.v7.widget.Space android:layout_width="100dp" android:layout_height="28dp" app:layout_column="0" app:layout_row="0" /&gt; &lt;/android.support.v7.widget.GridLayout&gt; &lt;/RelativeLayout&gt; </code></pre> <p>Finally, here's the manifest file:</p> <pre><code>&lt;manifest xmlns:android="http://schemas.android.com/apk/res/android" package="nl.computerhuys.simplescore" android:versionCode="1" android:versionName="1.0" &gt; &lt;uses-sdk android:minSdkVersion="7" android:targetSdkVersion="15" /&gt; &lt;application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" &gt; &lt;activity android:name=".MainActivity" android:label="@string/title_activity_main" &gt; &lt;intent-filter&gt; &lt;action android:name="android.intent.action.MAIN" /&gt; &lt;category android:name="android.intent.category.LAUNCHER" /&gt; &lt;/intent-filter&gt; &lt;/activity&gt; &lt;/application&gt; &lt;/manifest&gt; </code></pre> <p>Clicking a RadioButton in the virtual device (after first forcing the app to show) results in following LogCat errors:</p> <pre><code>09-16 09:05:04.056: W/KeyCharacterMap(412): No keyboard for id 0 09-16 09:05:04.064: W/KeyCharacterMap(412): Using default keymap: /system/usr/keychars/qwerty.kcm.bin 09-16 09:05:15.075: W/ActivityManager(412): Scheduling restart of crashed service com.android.inputmethod.latin/.LatinIME in 5000ms 09-16 09:05:15.095: E/ActivityThread(412): Failed to find provider info for android.server.checkin 09-16 09:05:15.105: W/Checkin(412): Can't log event SYSTEM_SERVICE_LOOPING: java.lang.IllegalArgumentException: Unknown URL content://android.server.checkin/events 09-16 09:05:21.114: W/InputMethodManager(695): Ignoring onBind: cur seq=-1, given seq=1 </code></pre> <p>After selecting a radiobutton it is not possible to unselect it by clicking it again or by selecting another radiobutton in the same group (same GridLayout).</p> <p>What is wrong, how to solve?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload