Ich verwende einen Floating-Action-Button und sein Bild ändert sich, wenn darauf geklickt wird. Ich habe eine Flagge und ich speichere es in geteilten Präferenzen. Wenn es wahr ist, wird das Symbol like.png, wenn es falsch ist, wird icon dislike.png.Floating Action Button-Hintergrund ändern
ich das entsprechende Symbol wollen nach Flagvariable ändern, aber wenn die App auf das Symbol startet standardmäßig welches true.png
Wie kann ich das Symbol über gemeinsame Einstellungen festgelegt?
public class ReadActivity extends AppCompatActivity {
private FloatingActionButton fab;
private boolean flag;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_read);
fab = (FloatingActionButton) findViewById(R.id.fab);
getRate(getWindow().getDecorView().getRootView());
if(flag==false){
fab.setImageResource(R.drawable.like);
}
else if(flag==true){
fab.setImageResource(R.drawable.dislike);
}
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getRate(v);
if(flag==false) {
rateUp();
Snackbar.make(v, "Vote +1", Snackbar.LENGTH_LONG).show();
saveRate(v, true);
fab.setImageResource(R.drawable.dislike);
}
else if(flag==true){
rateDown();
Snackbar.make(v, "Vote -1", Snackbar.LENGTH_LONG).show();
saveRate(v, false);
fab.setImageResource(R.drawable.like);
}
}
});
}
public void rateUp() {};
public void rateDown() {};
public void saveRate(View view, boolean flag){
SharedPreferences sharedPreferences = getSharedPreferences("Rates", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean(id, flag);
editor.commit();
}
public void getRate(View view){
SharedPreferences sharedPreferences = getSharedPreferences("Rates", MODE_PRIVATE);
flag = sharedPreferences.getBoolean(id, false);
}
}
Aber ich will die Änderung auf das Symbol, wenn app – Burak
starten Sie den Code in ReadActivity fab.setBackgroundTintList verwenden (ColorStateList.valueOf (Farb .parseColor ("# 33691E"))); –
Ich frage eine komplett andere Frage – Burak