1

kankan.wheel ( http://code.google.com/p/android-wheel/ ) 是一个包含在我的项目中的库。

如果我将轮子小部件添加到活动布局中 - 没关系并且工作完美,但是如果我将此组件添加到桌面小部件布局中 - 此刻将小部件添加到桌面我有这个:

08-08 21:02:17.630: W/AppWidgetHostView(30529): Error inflating AppWidget       AppWidgetProviderInfo(provider=ComponentInfo{com.snake.vahta.counter/com.snake.vahta.counter.V ahtaAppWidgetProvider}): android.view.InflateException: Binary XML file line #89: Error inflating class kankan.wheel.widget.WheelView

并且小部件不显示,只有字符串:无法显示小部件

我的 XML 布局文件:

<?xml version="1.0" encoding="utf-8"?>

  <LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:gravity="center"
  android:layout_margin="4dp"
  android:id="@+id/widgetFrameLayout"
  android:background="@drawable/background">


    <LinearLayout
        android:layout_marginTop="24dp"
        android:layout_gravity="center_horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <kankan.wheel.widget.WheelView android:id="@+id/w_counter_100k"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"/>
        <kankan.wheel.widget.WheelView android:id="@+id/w_counter_10k"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"/>
        <kankan.wheel.widget.WheelView android:id="@+id/w_counter_1k"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"/>
        <kankan.wheel.widget.WheelView android:id="@+id/w_counter_100"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"/>
        <kankan.wheel.widget.WheelView android:id="@+id/w_counter_10"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"/>
        <kankan.wheel.widget.WheelView android:id="@+id/w_counter_1"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"/>
        <kankan.wheel.widget.WheelView android:id="@+id/w_counter_dot"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"/>
        <kankan.wheel.widget.WheelView android:id="@+id/w_counter_01"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"/>
        <kankan.wheel.widget.WheelView android:id="@+id/w_counter_001"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"/>
    </LinearLayout>

    <TextView
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:padding="3dip"
        android:gravity="center"
        android:text="@string/total_sum" />

</LinearLayout>
4

1 回答 1

0

桌面小部件有一组有限的允许部件。由于允许在主屏幕中执行任意代码的潜在安全问题,这些限制是必要的。

这是 appWidget Docs 的相关部分:

RemoteViews 对象(以及相应的 App Widget)可以支持以下布局类:

框架布局

线性布局

相对布局

网格布局

以及以下小部件类:

模拟时钟

按钮

计时器

图像按钮

图像视图

进度条

文本视图

ViewFlipper

列表显示

网格视图

堆栈视图

AdapterViewFlipper

不支持这些类的后代。

于 2013-08-08T13:31:06.363 回答