1

My togglebutton shows up as a normal button. On the previous development platform (samsung galaxy s advance with android 4.2 & 2.3) the button appeared as a normal togglebutton. In the designer it also appears as a togglebutton. The problems started when I migrated to nexus 7 (early 2013) as development platform with android 4.3. I opened a new project and added a togglebutton - this one shows up fine on the nexus7 with android 4.3. When I copy the xml code from the working togglebutton app to my project it shows a normal button again.

I tried

   android:minSdkVersion="11"
   android:targetSdkVersion="11"

up to

   android:minSdkVersion="18"
   android:targetSdkVersion="18"

Xml of both of the layout files of both projects

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/RelativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:id="@+id/tvHead"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_marginBottom="20dp" android:layout_marginLeft="18dp" android:layout_marginTop="16dp" android:text="Geef chauffeur op" android:textAppearance="?android:attr/textAppearanceLarge"/>

    <ListView
        android:id="@+id/lvChauffeurs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" android:layout_alignLeft="@+id/tvHead" android:layout_alignParentRight="true" android:layout_alignParentTop="false" android:layout_below="@+id/tvHead">
    </ListView>
    <ProgressBar android:id="@+id/progressBar1"  style="@android:style/Widget.ProgressBar.Small" android:layout_width="wrap_content" android:layout_height="25dp" android:layout_alignParentTop="true" android:layout_toLeftOf="@+id/tvVersie" android:maxHeight="25dp" android:maxWidth="25dp" android:minHeight="20dp" android:minWidth="20dip" android:paddingTop="5dp" android:visibility="invisible"/>
    <TextView android:id="@+id/tvVersie" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/lvChauffeurs" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:text="Small Text" android:textAppearance="?android:attr/textAppearanceSmall" android:textSize="36px"/>
    <ToggleButton android:id="@+id/toggleButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:text="ToggleButton"/>
</RelativeLayout>

The manifest file from the project that displays the togglebutton as a togglebutton:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.tst"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="15"
        android:targetSdkVersion="15" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.tst.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

And the manifest file from the project that displays the togglebutton as a normal button

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.####.#"
    android:versionCode="8"
    android:versionName="0.8" >

    <uses-sdk
        android:minSdkVersion="15"
        android:targetSdkVersion="15" />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >


        <activity
            android:name="com.####.#.A"
            android:label="@string/title_activity_aanmelden"
            android:screenOrientation="landscape" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name="com.####.#.Re"
            android:label="@string/title_activity_registratie"
            android:screenOrientation="landscape" >
         </activity>

        <activity
            android:name=".KG"
            android:label="@string/title_activity_kies_gebied"
            android:screenOrientation="landscape" >
        </activity>

        <activity
            android:name=".VK"
            android:label="@string/title_activity_voorkeuren"  
            android:screenOrientation="landscape" >
        </activity>

        <receiver android:name="com.####.#.BS" >
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>

        <receiver android:name=".COR" >
            <intent-filter>
                <action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
            </intent-filter>
        </receiver>


    </application>
</manifest>

Thanks

GrIsHu
  • 29,068
  • 10
  • 64
  • 102
Harmen
  • 841
  • 8
  • 17

3 Answers3

0

Try cleaning the project (project->clean) then rerun it (running will rebuild) sometimes stale files.... I have the problem with view Ids.

If this doesn't work write a comment to this, and add your xmL (or some of it) to your question.

Your manifest file defines everything your Android application has, not what they are, so you must declare that you have activities in there. BUT NOT the activities themselves.

Activities are actually a Java file you see. You could lay them out entirely using code in onCreate if you wanted but layouts work best, they are far easier. Use Eclipse with new->other->Android activity to speed this up.

Alec Teal
  • 5,770
  • 3
  • 23
  • 50
  • Hi Alec, a clean build didn't work. I've posted some sources in the original post. – Harmen Sep 26 '13 at 10:21
  • @Harmen can you post the activity's XML too? – Alec Teal Sep 26 '13 at 11:04
  • Hi Alec, the first codeblock contains the activity xml files - these are the same. I solved the problem by removing the theme attribute from the manifest. Don't know why or what but I already learned not to question weird things on the android platform. Thanks for helping though. – Harmen Sep 26 '13 at 11:12
0

The manifest looks ok. In case just try making a sample app only with toggle button and check if it runs properly check with the existing manifest which is giving problem. This may clear your doubts.

xMayank
  • 1
  • 4
  • A new activity within the same project produces the same error - togglebutton as a button. Are there more project settings than in the manifest file? – Harmen Sep 26 '13 at 10:35
0

I completely removed the android:theme="@style/AppTheme" attribute, now it works. Weird stuff.

Thanks xMayank and Alec for helping.

Harmen
  • 841
  • 8
  • 17