Appelez-vous des listview de lignes qui ne sont pas mises à jour ou en cours après la mise à niveau Marshmallow

J'ai une application widget qui fonctionne sans problème Android Lollipop ou système d'exploitation inférieur. Lorsque j'ai mis à niveau mon nexus 5 dans Marshmallow (Android, version 6.0), je me rends compte que mon widget a un problème lors du chargement de listView personnalisé. Widget a un textView dynamique et un listView dynamique. TextView fonctionne parfaitement; Mais il n'y a pas d'espoir pour listView les éléments de ligne. Lorsque j'ajoute le widget, les lignes sont bloquées en phase de chargement. C'est exactement le même code qui fonctionne sur les appareils Lollipop ou inférieurs, mais pas sur Marshmallow. Je crois que Marshmallow cause un problème que je ne peux pas encore trouver. J'espère que quelqu'un me montre ce que je fais mal et m'aide à résoudre ce problème. Je suis reconnaissant de toutes sortes d'aide. Merci.

WidgetProvider.class:

  • Android Studio Error: (3, 0) Plugin avec id 'com.android.application' introuvable
  • Comment écouter le changement d'état dans le widget SwitchCompat?
  • GreenDAO prend en charge les relations multiples entre les tables
  • AAPT échouant avec le code d'erreur -1073741819
  • Android: l'élévation n'a que des effets d'ombre sur le côté inférieur, comment faire apparaître les effets des ombres sur le côté supérieur?
  • Qu'est-ce que LayoutInflater dans Android?
  • @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { System.out.println("WidgetProvider.onUpdate()"); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); final boolean isMaviKart = MainUtils.getCardType(context).equals(Constants.CARD_TYPE_MAVI); try { //set widget id ComponentName thisWidget = new ComponentName(context, WidgetProvider.class); int[] allWidgetIds = appWidgetManager.getAppWidgetIds(thisWidget); MainUtils.setWidgetID(prefs, allWidgetIds[allWidgetIds.length - 1]); for (int i = 0; i < appWidgetIds.length; i++) { Intent intentService = new Intent(context, WidgetService.class); intentService.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetIds[i]); intentService.setData(Uri.parse(intentService.toUri(Intent.URI_INTENT_SCHEME))); RemoteViews widget = new RemoteViews(context.getPackageName(), R.layout.widget); widget.setRemoteAdapter(appWidgetIds[i], R.id.list_view, intentService); Intent clickIntent = new Intent(context, MainActivity.class); PendingIntent clickPI = PendingIntent.getActivity(context, 0, clickIntent, PendingIntent.FLAG_UPDATE_CURRENT); widget.setPendingIntentTemplate(R.id.list_view, clickPI); if (isMaviKart) { widget.setTextViewText(R.id.kalanPara, String.valueOf(MainUtils.getTokenPass(prefs))); widget.setTextViewText(R.id.currency_tl, " Geçiş"); } else { widget.setTextViewText(R.id.kalanPara, String.valueOf(MainUtils.getTotalMoney(prefs))); widget.setTextViewText(R.id.currency_tl, " TL"); } appWidgetManager.updateAppWidget(appWidgetIds[i], widget); } } catch (Exception e) { e.printStackTrace(); Toast.makeText(context, context.getResources().getString(R.string.error_occured), Toast.LENGTH_SHORT).show(); } super.onUpdate(context, appWidgetManager, appWidgetIds); } @Override public void onReceive(Context context, Intent intent) { super.onReceive(context, intent); System.out.println("WidgetProvider.onReceive()"); String key = intent.getStringExtra(Constants.EXTRA); if (key != null) Log.e("TEST", key); } 

    WidgetViewsFactory.class:

     @Override public RemoteViews getViewAt(int position) { Intent intent = new Intent(); Bundle extras = new Bundle(); rowButton = context.getResources().getIdentifier("widget_button","id", context.getPackageName()); rowText = context.getResources().getIdentifier("widget_textview","id", context.getPackageName()); RemoteViews row = new RemoteViews(context.getPackageName(), R.layout.row); // set BUTTON NAMES row.setTextViewText(rowButton, getFeeTypes(position)); // simple rows: configureRowsInListview(row, position, context.getResources().getColor(R.color.DeepSkyBlue), View.VISIBLE); extras.putString(Constants.EXTRA, getEventKey(position)); intent.putExtras(extras); row.setOnClickFillInIntent(rowButton, intent); row.setOnClickFillInIntent(rowText, intent); return row; } 

    WidgetService.class:

     public class WidgetService extends RemoteViewsService { @Override public RemoteViewsFactory onGetViewFactory(Intent intent) { return(new WidgetViewsFactory(this.getApplicationContext())); } } 

    MainActivity.class: (keyWord retour null sur Marshmallow)

     @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); prefs = PreferenceManager.getDefaultSharedPreferences(this); String keyWord = getIntent().getStringExtra(Constants.EXTRA); if (keyWord == null) { keyWord = "null"; Log.e("onCreate() ", "No data Arrived yet!"); } } private void updateWidgetScreen(String updateData, String currencyType) { AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(this); RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.widget); ComponentName thisWidget = new ComponentName(this, WidgetProvider.class); remoteViews.setTextViewText(R.id.kalanPara, updateData); remoteViews.setTextViewText(R.id.currency_tl, currencyType); Intent intent = new Intent(this, WidgetService.class); intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, MainUtils.getWidgetID(prefs)); intent.setData(Uri.parse(intent.toUri(Intent.URI_INTENT_SCHEME))); remoteViews.setRemoteAdapter(MainUtils.getWidgetID(prefs), R.id.list_view, intent); Intent clickIntent = new Intent(this, MainActivity.class); PendingIntent clickPI = PendingIntent.getActivity(this, 0, clickIntent, PendingIntent.FLAG_UPDATE_CURRENT); remoteViews.setPendingIntentTemplate(R.id.list_view, clickPI); appWidgetManager.updateAppWidget(thisWidget, remoteViews); Log.e("updateWidgetScreen", updateData+" updateData - widgetid: "+ MainUtils.getWidgetID(prefs)); } 

    ListView problème de rangée: Entrez la description de l'image ici

  • Tournez l'aperçu de la caméra vers la caméra Portrait OpenCV d'Android
  • Store Android SQLite
  • D'où puis-je importer des paramètres de la version précédente d'Android Studio?
  • Android - Je souhaite montrer la progression du téléchargement de fichier à l'utilisateur
  • Qu'est-ce que la méthode exactement Activity.finish () fait?
  • Créer une activité sans corps
  • One Solution collect form web for “Appelez-vous des listview de lignes qui ne sont pas mises à jour ou en cours après la mise à niveau Marshmallow”

    J'ai trouvé l'erreur que j'ai faite. J'ai eu une liste de liste personnalisée avec un bouton avec style android:style/Widget.Material.Button . Lorsque j'ai supprimé le style du bouton, il a résolu mon problème.

      <Button android:id="@+id/widget_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="Button" android:layout_marginRight="10dp" android:gravity="center" android:padding="8dp" android:textColor="@color/White" **style="@style/MaterialButton"** /> <style name="MaterialButton" parent="android:style/Widget.Material.Button"> <item name="android:background">@drawable/raised_button_background</item> </style> 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.