Android AppWidget Wierd行为

Android AppWidget Wierd行为,android,memory,widget,reset,Android,Memory,Widget,Reset,我创建了一个小部件,用于检索html原始数据并将其解析出来。数据正确显示在小部件上,但当我启动小部件的配置活动并退出时,小部件布局被重置,小部件上没有显示任何内容,所有文本都被删除。这个小部件在安卓4.0上运行完美,没有这个问题,但在2.3.3上它有这个行为。有没有关于问题是什么以及如何解决的想法 public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)

我创建了一个小部件,用于检索html原始数据并将其解析出来。数据正确显示在小部件上,但当我启动小部件的配置活动并退出时,小部件布局被重置,小部件上没有显示任何内容,所有文本都被删除。这个小部件在安卓4.0上运行完美,没有这个问题,但在2.3.3上它有这个行为。有没有关于问题是什么以及如何解决的想法

public void onUpdate(Context context, AppWidgetManager appWidgetManager,
        int[] appWidgetIds) {

       WidgetIds = appWidgetIds;
       try {BUP.backupWidgetIdLength(context,  WidgetIds.length);} catch (Exception e1) {e1.printStackTrace();}
       for(int i = 0; i < WidgetIds.length; i++)
       {
        try {BUP.backupWidgetIds(context, WidgetIds[i], i);
            } catch (Exception e) {e.printStackTrace();}
       }


          super.onUpdate(context, appWidgetManager, appWidgetIds);
          //updateWidget(context,appWidgetIds);
          final int N = appWidgetIds.length;
          for (int i=0; i<N; i++) {
              int appWidgetId = appWidgetIds[i];

              updateWidget(context,appWidgetId);

          }  


static void updateWidget(Context context,int appWidgetIds)
{


    Intent intent = new Intent(context, MySchedule.class);

        RemoteViews updateViews = new RemoteViews(context.getPackageName(),R.layout.main);
        try
        {

            Intent sch = new Intent(context, FullSchedule.class);
            sch.setAction(schedule_Click);
            sch.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds);
            sch.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            updateViews.setOnClickPendingIntent(R.id.Rlayout4,PendingIntent.getActivity(context.getApplicationContext(),appWidgetIds,sch,PendingIntent.FLAG_UPDATE_CURRENT));   

            Intent f = new Intent(context, MyConfig.class);
            f.setAction(Settings);
            f.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds);
            f.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            updateViews.setOnClickPendingIntent(R.id.Rlayout2,PendingIntent.getActivity(context.getApplicationContext(),appWidgetIds,f,PendingIntent.FLAG_UPDATE_CURRENT)); 

            Intent s = new Intent(context, MySchedule.class);
            s.setAction(leftSchedule_CLICK);
            s.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds);
            PendingIntent pis = PendingIntent.getBroadcast(context.getApplicationContext(),appWidgetIds, s,PendingIntent.FLAG_UPDATE_CURRENT);
            updateViews.setOnClickPendingIntent(R.id.Change_Schedule,pis);


            Intent t = new Intent(context, MySchedule.class);
            t.setAction(rightSchedule_CLICK);
            t.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds);
            PendingIntent pit = PendingIntent.getBroadcast(context.getApplicationContext(),appWidgetIds, t,PendingIntent.FLAG_UPDATE_CURRENT);
            updateViews.setOnClickPendingIntent(R.id.Change_Schedule2,pit);

            Intent u = new Intent(context, MySchedule.class);
            u.setAction(Update_Schedule);
            u.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds);
            PendingIntent piu = PendingIntent.getBroadcast(context.getApplicationContext(),appWidgetIds, u,PendingIntent.FLAG_UPDATE_CURRENT);
            updateViews.setOnClickPendingIntent(R.id.updateView,piu);

            AppWidgetManager appWidgetMan = AppWidgetManager.getInstance(context);
            ComponentName thisWidget = new ComponentName(context, MySchedule.class);
            appWidgetMan.updateAppWidget(thisWidget, updateViews);

        }catch(Exception e)
        {
            Log.d("Error_OnUpdate",e.getMessage());
        }

}

   } 
public void onUpdate(上下文,AppWidgetManager,AppWidgetManager,
int[]appWidgetIds){
WidgetIds=appWidgetIds;
请尝试{BUP.backupWidgetIdLength(context,WidgetIds.length);}catch(异常e1){e1.printStackTrace();}
for(int i=0;i对于(int i=0;i请显示用于更新小部件(使用RemoteView的位置)的代码。我猜这与旧版本的android如何管理内存有关,因为android 4.0工作正常,但我不确定。在运行4.0的其他设备上也是如此。