2012-03-28 105 views
0

当我想更新我的ImegeView时,我看到“加载小部件问题”;更新小部件中的ImageVIew Android

我的main.xml

<?xml version="1.0" encoding="utf-8"?> 
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="280dp" 
android:layout_height="120dp" 
android:background="@drawable/widget_bg" 
> 
<ImageView 
android:name="@+id/image_in_widget" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
/> 
</AbsoluteLayout> 

我Widget.java

package endoftheworld.wid; 
//some imports 

public class Widget extends AppWidgetProvider { 
@Override 
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) 
{ 
RemoteViews updateViews = new RemoteViews(context.getPackageName(), R.layout.main); 
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.pulse); 
updateViews.setImageViewBitmap(R.id.image_in_widget,bitmap); 
appWidgetManager.updateAppWidget(appWidgetIds, updateViews); 
super.onUpdate(context, appWidgetManager, appWidgetIds); 
    } 
} 

在DDMS我可以看到

AppWidgetHostView(128): android.widget.RemoteViews$ActionException: can't find view: 0x7f060000 

但我在R.java

//.... 
public static final class id { 
    public static final int image_in_widget=0x7f060000; 
} 
//... 
有0x7f060000

我使用Android平台2.3.1 API级别9 CPU/ABI ARM(armeabi)。

什么是诀窍?

回答

0

您要传递给RemoteViewsR.layout.main布局没有ID R.id.image_in_widget的任何视图。也许你打算通过一个不同的布局,或者该布局中的ImageView有错误的ID。