2012-03-09 23 views
0

我正在嘗試爲Android創建Widget。 它包含這樣的文件:在AVD上未裝載Widget

RES/XML/widgetinfo.xml:

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

RES /佈局/ main.xml中:

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 
    <LinearLayout > 
     <TextView android:text="My widget" /> 
    </LinearLayout> 
</FrameLayout> 

的AndroidManifest.xml:

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

    <uses-sdk android:minSdkVersion="10" /> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name"> 
     <receiver android:name="WidgetProvider"> 
      <intent-filter> 
       <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 
      </intent-filter> 
      <meta-data android:name="android.appwidget.provider" 
       android:resource="@xml/widgetinfo" /> 
     </receiver> 
    </application> 
</manifest> 

src/com.test.WidgetProvider:

package com.test; 

import android.appwidget.AppWidgetProvider; 

public class WidgetProvider extends AppWidgetProvider { 
} 

但是,當我在AVD中運行它並試圖添加我的小部件時,它顯示消息「問題加載小部件」。 LogCat在詳細模式下不顯示任何內容。那麼,什麼是錯的?

回答

1
  1. 你需要在你的AppWidgetProvider實施onUpdate()

  2. 您的佈局不起作用。你可以通過在一個活動中嘗試你的佈局來告訴它。您在LinearLayoutTextView上缺少android:layout_widthandroid:layout_height。此外,您還不清楚您的FrameLayout正在爲您做什麼。

+0

設置佈局幫助,謝謝!如果沒有直接設置,我認爲它有默認值... – 2012-03-09 17:53:29