ImageView Array durch schleife aktualisieren

  • 2 Antworten
  • Letztes Antwortdatum
C

coreytaylor211

Fortgeschrittenes Mitglied
5
Hallo ich hoffe ihr hattet ein schönes Fest :)
So nun zu meinem Problem, wie im Titel schon beschrieben versuche ich ein Widget zu basteln nur komme ich an dem Punkt nicht weiter.

Daher werde ich den Code einfach mal reinstellen.
Code:
public class EvEBattery extends AppWidgetProvider {

    private ImageView  iV1,iV2,iV3,iV4,iV5,iV6,iV7,iV8,iV9,iV10,iV11,iV12,iV13,iV14,iV15,iV16,iV17,iV18,iV19,iV20,iV21,iV22,iV23,iV24,iV25,iV26,iV27,iV28,iV29,iV30,iV31,iV32,iV33,iV34,iV35,iV36,iV37,iV38;
    int currentLevel, scale;
    int level ;
    Handler h = new Handler();
    ImageView[] ids = {iV2,iV3,iV4,iV5}; // ,iV6,iV7,iV8,iV9,iV10,iV11,iV12,iV13,iV14,iV15,iV16,iV17,iV18,iV19,iV20,iV21,iV22,iV23,iV24,iV25,iV26,iV27,iV28,iV29,iV30,iV31,iV32,iV33,iV34,iV35,iV36,iV37,iV38


    public void getBattery(){

        BroadcastReceiver batteryLevelReceiver = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                context.unregisterReceiver(this);
                intent = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
                currentLevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
                scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 100);
                level = 0;

                h.post(new Runnable() {
                    @Override
                    public void run() {
                        if (currentLevel >= 0 && scale > 0){
                            level = (currentLevel * 100) / scale;
                            if (level <= ids.length){
                                for(int j = level ; j<=ids.length ; j++){
                                    ids[j].setVisibility(ids[j].VISIBLE);
                                    break;
                                }

                            }else
                                for (int k = level ;k>=ids.length;k--){
                                    ids[k].setVisibility(ids[k].VISIBLE);
                                    break;
                                }

                            Log.d(String.valueOf(level),"Level");
                        }




                    }
                });


            }

        };

        iV1.setImageResource(R.drawable.battery);
        iV2.setImageResource(R.drawable.oben4);
        iV2.setVisibility(View.INVISIBLE);
        iV3.setImageResource(R.drawable.oben3);
        iV3.setVisibility(View.INVISIBLE);
        iV4.setImageResource(R.drawable.oben2);
        iV4.setVisibility(View.INVISIBLE);
        iV5.setImageResource(R.drawable.oben1);
        iV5.setVisibility(View.INVISIBLE);




    }

    @Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds){
        super.onUpdate(context, appWidgetManager, appWidgetIds);

        int N = appWidgetIds.length;


        for(int i =0;i<N;i++) {
            int awID = appWidgetIds[i];

            RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.main);
            views.setImageViewResource(awID, awID);
            appWidgetManager.updateAppWidget(awID, views);

        }
        getBattery();



             /*iV6.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);
            iV1.setImageResource(R.drawable.battery);*/





    }


}

Der Plan soll sein das er den Akkuladestand erfragen soll und je nach stand ImageViews auf Visible stellen nur da passiert nix.
Wer noch mehr Infos brauch nur sagen.


Vielen Dank schonmal und einen guten Rutsch.
 
Hat keiner eine Idee ? Es soll ja auch keine komplett lösung sein nur ein ansatz wäre nicht schlecht.

Vielen Dank schonmal
 
Der Plan soll sein das er den Akkuladestand erfragen soll und je nach stand ImageViews auf Visible stellen nur da passiert nix.
Wer noch mehr Infos brauch nur sagen.

Passiert nix ist halt eine sehr unkonkrete Fehlerbeschreibung,
da wird sich keiner die Mühe machen in deinen Source zu schauen.

Bau Dir doch mal ein paar mehr Log Ausgaben ein, um zu schauen welche Bereiche des Widgets erreicht werden.

Also einfach debuggen.
 
Zurück
Oben Unten