【问题标题】:How to resolve UnsupportedOperationException: Can't convert to dimension: type=0x12 [duplicate]如何解决 UnsupportedOperationException:无法转换为维度:类型 = 0x12 [重复]
【发布时间】:2015-06-09 04:37:52
【问题描述】:

我正在制作一个应用程序来解释 Android 活动生命周期,但我遇到了 android 布局问题。这是我的布局:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/background"
    tools:context="br.com.fiap.androidactivitylifecycle.MainActivity" >

    <ImageView
        android:id="@+id/imgAndroidRobot"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="5dp"
        android:layout_marginStart="5dp"
        android:contentDescription="@string/android_robot"
        android:src="@drawable/android" />

    <ImageView
        android:id="@+id/imgActivityCreated"
        android:layout_width="85dp"
        android:layout_height="35dp"
        android:layout_above="@+id/imgAndroidRobot"
        android:layout_marginStart="23dp"
        android:layout_marginBottom="08dp"
        android:layout_toEndOf="@+id/imgAndroidRobot"
        android:contentDescription="@string/activity_created"
        android:src="@drawable/activity_created" />

    <TextView
        android:id="@+id/txtAndroidOnCreate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/imgAndroidRobot"
        android:layout_alignStart="@+id/imgAndroidRobot"
        android:text="@string/on_create" />

    <TextView
        android:id="@+id/txtStartedOnResume"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/imgActivityStarted"
        android:layout_marginStart="45dp"
        android:layout_marginBottom="17dp"
        android:layout_toEndOf="@+id/txtAndroidOnCreate"
        android:text="@string/on_resume" />

    <TextView
        android:id="@+id/txtCreatedOnStart"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignStart="@+id/imgActivityCreated"
        android:layout_centerVertical="true"
        android:layout_toEndOf="@+id/txtAndroidOnCreate"
        android:text="@string/on_start" />

    <ImageView
        android:id="@+id/imgActivityStarted"
        android:layout_width="85dp"
        android:layout_height="35dp"
        android:layout_above="@+id/txtCreatedOnStart"
        android:layout_toEndOf="@+id/txtCreatedOnStart"
        android:layout_marginStart="8dp"
        android:contentDescription="@string/activity_started"
        android:src="@drawable/activity_started" />

    <ImageView
        android:id="@+id/imgActivityResumed"
        android:layout_width="85dp"
        android:layout_height="35dp"
        android:layout_above="@+id/txtStartedOnResume"
        android:layout_marginStart="45dp"
        android:layout_toEndOf="@+id/imgActivityCreated"
        android:contentDescription="@string/activity_resumed"
        android:src="@drawable/activity_resumed" />

    <TextView
        android:id="@+id/txtPausedOnResume"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/imgActivityStarted"
        android:layout_toEndOf="@+id/imgActivityStarted"
        android:layout_marginBottom="11dp"
        android:text="@string/on_resume" />

    <TextView
        android:id="@+id/txtResumedOnPause"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/imgActivityResumed"
        android:layout_marginStart="17dp"
        android:layout_toEndOf="@+id/txtPausedOnResume"
        android:text="@string/on_pause" />

    <ImageView
        android:id="@+id/imgActivityPaused"
        android:layout_width="85dp"
        android:layout_height="35dp"
        android:layout_above="@+id/txtCreatedOnStart"
        android:layout_toEndOf="@+id/imgActivityResumed"
        android:src="@drawable/activity_paused"
        android:contentDescription="@string/activity_paused" />

    <TextView
        android:id="@+id/txtStoppedOnRestart"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/txtAndroidOnCreate"
        android:layout_alignStart="@+id/txtPausedOnResume"
        android:layout_toEndOf="@+id/txtAndroidOnCreate"
        android:text="@string/on_restart" />

    <ImageView
        android:id="@+id/imgActivityDestroyed"
        android:layout_width="55dp"
        android:layout_height="40dp"
        android:layout_alignBottom="@+id/imgAndroidRobot"
        android:layout_alignEnd="@+id/txtStoppedOnDestroy"
        android:layout_alignParentEnd="true"
        android:layout_marginEnd="10dp"
        android:layout_marginBottom="10dp"
        android:contentDescription="@string/activity_destroyed"
        android:src="@drawable/activity_destroyed" />

    <TextView
        android:id="@+id/txtStoppedOnDestroy"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/imgAndroidRobot"
        android:layout_alignParentEnd="true"
        android:text="@string/on_destroy" />

    <TextView
        android:id="@+id/txtOnRestartOnStart"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignStart="@+id/imgActivityCreated"
        android:layout_below="@+id/txtCreatedOnStart"
        android:layout_marginStart="@+id/txtCreatedOnStart"
        android:layout_marginLeft="85dp"
        android:layout_marginBottom="4dp"
        android:text="@string/on_start" />

    <TextView
        android:id="@+id/txtPausedOnStop"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/txtOnRestartOnStart"
        android:layout_marginStart="@+id/txtPausedOnResume"
        android:layout_toEndOf="@+id/imgActivityPaused"
        android:text="@string/on_stop" />

    <ImageView
        android:id="@+id/imgActivityStopped"
        android:layout_width="85dp"
        android:layout_height="35dp"
        android:layout_alignEnd="@+id/txtPausedOnStop"

        android:layout_alignTop="@+id/imgActivityCreated"
        android:contentDescription="@string/activity_stopped"
        android:src="@drawable/activity_stopped" />

</RelativeLayout>

这种布局非常不同,每个 ImageView 都是一个 activty 生命周期的状态,每个 textview 是为实现该状态而执行的方法名称。

这是 Android 清单:

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

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

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

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

</manifest>

这里是 logcat:

04-04 01:17:37.940: D/dalvikvm(462): GC_FOR_ALLOC 释放 121K,12% 释放 9614K/10916K,暂停 32ms,总共 32ms 04-04 01:17:37.940:I/dalvikvm-heap(462):将堆(碎片情况)增加到 11.314MB,分配 815124 字节 04-04 01:17:37.965: D/dalvikvm(462): GC_FOR_ALLOC 释放 1K,12% 释放 10409K/11716K,暂停 24ms,总共 24ms 04-04 01:17:37.985: D/dalvikvm(462): GC_FOR_ALLOC 释放

我希望有人可以帮助我。谢谢你。

【问题讨论】:

  • 你想做什么?

标签: java android eclipse android-layout exception-handling


【解决方案1】:

在下面几行检查您的保证金起始值

 android:layout_marginStart="@+id/txtCreatedOnStart"
 android:layout_marginStart="@+id/txtPausedOnResume"

尝试给出 dp 值

【讨论】:

  • 谢谢,您的提示解决了这个问题。
【解决方案2】:

试试这个,

移除除 id 之外的每个小部件属性的“+”号,如 ,

android:layout_above="@+id/imgAndroidRobot"

转入android:layout_above="@id/imgAndroidRobot"

【讨论】:

  • 大卫,这个技巧对我不起作用,但还是谢谢。
猜你喜欢
  • 2016-08-06
  • 1970-01-01
  • 2014-07-19
  • 1970-01-01
  • 1970-01-01
  • 2018-09-29
  • 1970-01-01
相关资源
最近更新 更多