Buenas tengo una duda sobre SeekBar a ver si me podeis echar un cable. Como os muestro en la imagen que he subido tengo un SeekBar de 0 a 10 y según muevo se muestra los números en un textView. Al yo cerrar la app y volverla a abrir los valores se reinician como es lógico entonces yo lo que quiero es que se mantengan para ello quiero utilizar las preferencias. Utilizo el método CargarPreferencias y GuardarPreferencias que lo vi de ejemplo en una página con un CheckBoox y ahora no se modificar dichos métodos para mi SeekBar. Proporciono mi código y un enlace a una caputra de pantalla de como queda la interfaz, un saludo y gracias.
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { tvCalificacion.setText("Calificación: "+progress+" / "+seekBar.getMax()); } @Override public void onStartTrackingTouch(SeekBar seekBar) { // When user starts working with control // Save the progress if initial value is needed. } @Override public void onStopTrackingTouch(SeekBar seekBar) { // When user stops interacting // Add your own logic here } }); }
Buenas tengo una duda sobre SeekBar a ver si me podeis echar un cable.
Como os muestro en la imagen que he subido tengo un SeekBar de 0 a 10 y según muevo se muestra los números en un textView.
Al yo cerrar la app y volverla a abrir los valores se reinician como es lógico entonces yo lo que quiero es que se mantengan para ello quiero utilizar las preferencias. Utilizo el método CargarPreferencias y GuardarPreferencias que lo vi de ejemplo en una página con un CheckBoox y ahora no se modificar dichos métodos para mi SeekBar. Proporciono mi código y un enlace a una caputra de pantalla de como queda la interfaz, un saludo y gracias.
https://drive.google.com/folderview?id=0ByIwuiGLD4sERlF1TGc1YUhFbFE&usp=sharing
package com.a.b;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.SeekBar;
import android.widget.TextView;
public class Valoracion extends Activity{
SeekBar seekBar;
TextView tvCalificacion;
Button btnGuardarValoracion;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_valoracion);
seekBar = (SeekBar) findViewById(R.id.seekBar);
tvCalificacion = (TextView) findViewById(R.id.tvCalificacion);
btnGuardarValoracion = (Button) findViewById(R.id.btnGuardarValoracion);
CargarPreferencias();
btnGuardarValoracion.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
GuardarPreferencias();
}
});
tvCalificacion.setText("Calificación: "+seekBar.getProgress()+" / "+seekBar.getMax());
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
tvCalificacion.setText("Calificación: "+progress+" / "+seekBar.getMax());
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// When user starts working with control
// Save the progress if initial value is needed.
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// When user stops interacting
// Add your own logic here
}
});
}
public void CargarPreferencias() {
SharedPreferences mispreferencias = getSharedPreferences("PreferenciasUsuario", Context.MODE_PRIVATE);
seekBar.setChecked(mispreferencias.getBoolean("checked", false)); //+++++++
}
public void GuardarPreferencias() {
SharedPreferences mispreferencias = getSharedPreferences("PreferenciasUsuario", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = mispreferencias.edit();
boolean valor = seekbar.isChecked(); //+++++++
editor.putBoolean("checked", valor); //+++++++
seekBar.setChecked(mispreferencias.getBoolean("checked",false)); //+++++++
}
}