Виджет не указан в ICS - PullRequest
       42

Виджет не указан в ICS

0 голосов
/ 09 января 2012

Я впервые внедряю виджет для своего приложения, поэтому я успокоился - использовал онлайн-примеры и создал работающий, очень простой виджет.Он прекрасно работает в эмуляторе и на моем планшете Honeycomb, но когда я пытаюсь добавить его на свою домашнюю страницу на Nexus S с Ice Cream Sandwich, виджет не отображается среди всех других виджетов.Я делаю что-то неправильно?Для сока вот простые части моего виджета.Как я уже сказал, я просто пытаюсь понять это и расширить оттуда, как только получу базовую структуру.

Манифест:

<receiver android:name=".MyDJAppWidgetProvider" android:label="@string/widget_name">
        <intent-filter>
            <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
        </intent-filter>
        <meta-data android:name="android.appwidget.provider" android:resource="@xml/mdj_doublewide" />
</receiver>

Виджет:

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider
  xmlns:android="http://schemas.android.com/apk/res/android">
  android:minWidth="146dip"
  android:minHeight="72dip"
  android:initialLayout="@layout/widget_message"
  android:updatePeriodMillis="86400000"  
</appwidget-provider>

Макет:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:gravity="center"
android:layout_margin="4dp" android:layout_height="fill_parent" 
    android:layout_width="fill_parent">
<TextView android:id="@+id/widget_word"
    android:layout_height="wrap_content" android:layout_width="wrap_content" 
            android:background="@drawable/custom_button"/>

</LinearLayout>

1 Ответ

0 голосов
/ 11 января 2012

Я обнаружил проблему. Это была просто синтаксическая ошибка в определении xml самого виджета. У меня было> после строки xmlns: android, а не в конце оператора (android: updatePeriodMillis). Мое новое определение выглядит следующим образом, и после перезагрузки (как указано в случае необходимости в 4.0 в другом месте) виджет теперь появляется - и это виджет двойной ширины, как и должно быть.

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:minHeight="72dp"
  android:minWidth="146dp"
  android:initialLayout="@layout/widget_message"
  android:updatePeriodMillis="720000" > 
</appwidget-provider>

О, счастливый день. Теперь, чтобы заставить этот виджет сказать что-то, кроме времени:)

...