我正在开发一个Android小部件。我有一个来自我的小部件的XML的初始布局。
但我发出了一个webservice调用,需要根据webservice的响应更新视图。
public void changeTheApartmentTo(Context context, int position){
remoteViews.setTextViewText(R.id.header_text, objj.get(position).getDistance());
remoteViews.setTextViewText(R.id.text_name_row, objj.get(position).getName());
remoteViews.setTextViewText(R.id.text_address_row, objj.get(position).getStreet());
remoteViews.setTextViewText(R.id.text_state_row, objj.get(position).getState());
remoteViews.setTextViewText(R.id.text_price_row, objj.get(position).getPrice());
remoteViews.setTextViewText(R.id.text_bedbath_row, objj.get(position).getBathrooms());
remoteViews.setImageViewBitmap(R.id.img_apartment, ImageLoader.getInstance().get(objj.elementAt(position).getImageUrl()));
appWidgetManager.updateAppWidget(thisWidget, remoteViews);
}
以上是我在public class HelloWidget extends AppWidgetProvider
写的函数
类。
当我更改视图时,会导致空指针错误。
答案 0 :(得分:2)
你在哪里称这种方法?告诉我们你是如何得到这个例外的?
您可以使用以下内容:
public static void updateWidgets(Context ctx) {
RemoteViews views = new RemoteViews(ctx.getPackageName(), R.layout.yourAppWidgetLayout);
//Do your updating...
ComponentName appWidget = new ComponentName(ctx, YourAppWidget.class);
AppWidgetManager awm = AppWidgetManager.getInstance(ctx);
awm.updateAppWidget(appWidget, views);
}