Ho un semplice widget adesivo che consente all'utente di selezionare uno degli adesivi dopo aver posizionato il widget. Il mio problema è che una volta riavviato il dispositivo, l'adesivo ritorna a quello predefinito. Come posso garantire che l'adesivo selezionato dall'utente rimanga indipendentemente dal fatto che il dispositivo venga riavviato o meno? Un esempio o spinta nella giusta direzione sarebbe molto utile. Non sto cercando nessuno che lo faccia per me, solo per essere istruito su come fare per farlo. Grazie.Come garantire che l'immagine selezionata dall'utente non cambi dopo il riavvio Android?
EDIT Codice Incluso
Non sono sicuro, ma penso che sto andando su questo tutto sbagliato. Non ho idea di come incorporare SharedPreferences nel modo in cui lo ho ora. Qualcuno potrebbe darmi un esempio di come dovrei fare per fare questo con almeno una delle immagini che sto usando per favore?
public class SpraycanConfig extends Activity
{
int xawID;
AppWidgetManager xawm;
Context xc;
EditText xinfo;
//EasyTracker easyTracker;
protected void onCreate(Bundle paramBundle)
{
super.onCreate(paramBundle);
Crashlytics.start(this);
setContentView(R.layout.scconfiglayout);
this.xc = this;
Bundle localBundle = getIntent().getExtras();
if (localBundle != null) {
this.xawID = localBundle.getInt("appWidgetId", 0);
}
for (;;)
{
this.xawm = AppWidgetManager.getInstance(this.xc);
ImageButton localImageButton1 = (ImageButton)findViewById(R.id.normal);
View.OnClickListener local1 = new View.OnClickListener()
{
public void onClick(View paramAnonymousView)
{
RemoteViews localRemoteViews = new RemoteViews(xc.getPackageName(), R.layout.main);
localRemoteViews.setImageViewResource(R.id.imageview, R.drawable.normal);
xawm.updateAppWidget(xawID, localRemoteViews);
Intent localIntent = new Intent();
localIntent.putExtra("appWidgetId", xawID);
setResult(-1, localIntent);
finish();
}
};
localImageButton1.setOnClickListener(local1);
ImageButton localImageButton2 = (ImageButton)findViewById(R.id.belton);
View.OnClickListener local2 = new View.OnClickListener()
{
public void onClick(View paramAnonymousView)
{
RemoteViews localRemoteViews = new RemoteViews(xc.getPackageName(), R.layout.main);
localRemoteViews.setImageViewResource(R.id.imageview, R.drawable.belton);
xawm.updateAppWidget(xawID, localRemoteViews);
Intent localIntent = new Intent();
localIntent.putExtra("appWidgetId", xawID);
setResult(-1, localIntent);
finish();
}
};
localImageButton2.setOnClickListener(local2);
ImageButton localImageButton3 = (ImageButton)findViewById(R.id.gold);
View.OnClickListener local3 = new View.OnClickListener()
{
public void onClick(View paramAnonymousView)
{
RemoteViews localRemoteViews = new RemoteViews(xc.getPackageName(), R.layout.main);
localRemoteViews.setImageViewResource(R.id.imageview, R.drawable.gold);
xawm.updateAppWidget(xawID, localRemoteViews);
Intent localIntent = new Intent();
localIntent.putExtra("appWidgetId", xawID);
setResult(-1, localIntent);
finish();
}
};
localImageButton3.setOnClickListener(local3);
ImageButton localImageButton4 = (ImageButton)findViewById(R.id.hardcore);
View.OnClickListener local4 = new View.OnClickListener()
{
public void onClick(View paramAnonymousView)
{
RemoteViews localRemoteViews = new RemoteViews(xc.getPackageName(), R.layout.main);
localRemoteViews.setImageViewResource(R.id.imageview, R.drawable.hardcore);
xawm.updateAppWidget(xawID, localRemoteViews);
Intent localIntent = new Intent();
localIntent.putExtra("appWidgetId", xawID);
setResult(-1, localIntent);
finish();
}
};
localImageButton4.setOnClickListener(local4);
ImageButton localImageButton5 = (ImageButton)findViewById(R.id.ironlak);
View.OnClickListener local5 = new View.OnClickListener()
{
public void onClick(View paramAnonymousView)
{
RemoteViews localRemoteViews = new RemoteViews(xc.getPackageName(), R.layout.main);
localRemoteViews.setImageViewResource(R.id.imageview, R.drawable.ironlak);
xawm.updateAppWidget(xawID, localRemoteViews);
Intent localIntent = new Intent();
localIntent.putExtra("appWidgetId", xawID);
setResult(-1, localIntent);
finish();
}
};
localImageButton5.setOnClickListener(local5);
ImageButton localImageButton6 = (ImageButton)findViewById(R.id.krylon);
View.OnClickListener local6 = new View.OnClickListener()
{
public void onClick(View paramAnonymousView)
{
RemoteViews localRemoteViews = new RemoteViews(xc.getPackageName(), R.layout.main);
localRemoteViews.setImageViewResource(R.id.imageview, R.drawable.krylon);
xawm.updateAppWidget(xawID, localRemoteViews);
Intent localIntent = new Intent();
localIntent.putExtra("appWidgetId", xawID);
setResult(-1, localIntent);
finish();
}
};
localImageButton6.setOnClickListener(local6);
ImageButton localImageButton7 = (ImageButton)findViewById(R.id.mtn94);
View.OnClickListener local7 = new View.OnClickListener()
{
public void onClick(View paramAnonymousView)
{
RemoteViews localRemoteViews = new RemoteViews(xc.getPackageName(), R.layout.main);
localRemoteViews.setImageViewResource(R.id.imageview, R.drawable.ninetyfour);
xawm.updateAppWidget(xawID, localRemoteViews);
Intent localIntent = new Intent();
localIntent.putExtra("appWidgetId", xawID);
setResult(-1, localIntent);
finish();
}
};
localImageButton7.setOnClickListener(local7);
ImageButton localImageButton8 = (ImageButton)findViewById(R.id.rusto);
View.OnClickListener local8 = new View.OnClickListener()
{
public void onClick(View paramAnonymousView)
{
RemoteViews localRemoteViews = new RemoteViews(xc.getPackageName(), R.layout.main);
localRemoteViews.setImageViewResource(R.id.imageview, R.drawable.rusto);
xawm.updateAppWidget(xawID, localRemoteViews);
Intent localIntent = new Intent();
localIntent.putExtra("appWidgetId", xawID);
setResult(-1, localIntent);
finish();
}
};
localImageButton8.setOnClickListener(local8);
return;
}
}
@Override
protected void onStart() {
super.onStart();
}
@Override
protected void onStop() {
super.onStop();
}
}
Penso che sia necessario salvare quell'immagine nella preferenza di condivisione e ad ogni avvio è necessario controllare se è presente un'immagine all'interno della preferenza condivisa utilizzata che altrimenti avvia un nuovo avvio. – dex