ListView in widget adds randomly items on scrolling and resizing (nested remoteviews)

前端 未结 3 1907
北恋
北恋 2020-12-17 15:52

Update: I created a repository with less code to make it a bit easier to understand.

I\'m trying to create a widget. I made it like describ

3条回答
  •  眼角桃花
    2020-12-17 16:45

    Your problem seems to be in:

    if(stundenContainer[j]!=null)
        Log.d("VplanWidgetViewsFactory", "stundenContainer["+j+"]:" + stundenContainer[j].toString());
    else
        Log.d("VplanWidgetViewsFactory", "stundenContainer[" + j + "]:null");
    
    if (stundenContainer[j] == null) {
        //Freistunde
        Log.d("VplanWidgetViewsFactory", "Freistunde");
        // HERE -----
        stunden.add(new RemoteViews(context.getPackageName(), R.layout.fragment_stunde_widget));
        faecher.add(new RemoteViews(context.getPackageName(), R.layout.fragment_fach));
        stunden.get(stunden.size() - 1).setTextViewText(R.id.textView_lesson_nr, "" + (j + 1) + ".");
     } else if (!stundenContainer[j].get(0).getSubject().equals("ignore")) {
         Log.d("VplanWidgetViewsFactory", "stundenContainer[j].get(0).getSubject(): " + stundenContainer[j].get(0).getSubject());
         // HERE -----
         stunden.add(new RemoteViews(context.getPackageName(), R.layout.fragment_stunde_widget));
    

    You are adding it twice.. , but only when the first item is not ignored, so it appears random.

    stunden.add(new RemoteViews(context.getPackageName(), R.layout.fragment_stunde_widget));
    

提交回复
热议问题