Java Intent.getAction()在RemoteViewsFactory[AppWidget]中引发NullPointerException
我试图修改某些动作的数据,但它抛出了NPEJava Intent.getAction()在RemoteViewsFactory[AppWidget]中引发NullPointerException,java,android,android-intent,android-appwidget,remoteview,Java,Android,Android Intent,Android Appwidget,Remoteview,我试图修改某些动作的数据,但它抛出了NPE if("Button1_OnClickTag".equals(mIntent.getAction())){ Collections.sort(mCollections, Anlik.COMPARE_BY_BIRIM); Log.d("****CollectionSize****", "initDataFromService_if: "+mCollections.size()); notify();
if("Button1_OnClickTag".equals(mIntent.getAction())){
Collections.sort(mCollections, Anlik.COMPARE_BY_BIRIM);
Log.d("****CollectionSize****", "initDataFromService_if: "+mCollections.size());
notify();
}
我在RemoteViesFactory的数据初始化中使用了这一部分。我不知道这样做是否正确。如果没有,你能建议其他方法吗?
谢谢
编辑:
代码流通过以下方式达到这一点
if(Button1_OnClick.equals(intent.getAction())){
sharedPreferences = context.getSharedPreferences("PREFERENCES", context.getApplicationContext().MODE_PRIVATE);
widgetIdupdate=sharedPreferences.getInt("mWidgetId", 66);
Toast.makeText(context, "Category1", Toast.LENGTH_SHORT).show();
//WidgetDataProvider.modifData();
Log.d("****ONCLICK WIDGETID", "onReceive: " + widgetIdupdate);
RemoteViews mView = new RemoteViews(context.getPackageName(),R.layout.mudo_life_widget);
mView.setRemoteAdapter(widgetIdupdate, R.id.list,intent);
onUpdate(context);
}
在我的AppWidgetProvider中
public class WidgetService extends RemoteViewsService {
@Override
public RemoteViewsFactory onGetViewFactory(Intent intent) {
WidgetDataProvider dataProvider = new WidgetDataProvider(
getApplicationContext(), intent);
return dataProvider;
}
}
在WidgetService中以及创建WidgetDataProvider时
public WidgetDataProvider(Context context, Intent intent) {mContext = context; mIntent=intent;}
所以我认为它已经被分配给按钮1\u OnClick
。
我是不是想错了?提供的信息很低,可能会重复。你能提供更多的代码和日志吗?