Je souhaite utiliser la variable de progression de la méthode onProgressChanged en dehors de la classe interne. J'ai essayé d'utiliser une méthode définie dans la classe externe et appelée depuis la classe interne pour obtenir cette valeur. Mais chaque fois que je reçois 0.
Aucune valeur mise à jour de la variable de progression. Il s'agit essentiellement d'une application Android pour obtenir la valeur mise à jour de SeekBar.
Jetez un oeil sur le code pour une meilleure compréhension. Actuellement, je n'ai que la précédente/dernière valeur de progrès. Ne pas obtenir la valeur mise à jour immédiatement comme je le change.La valeur de ProgressBar ne change pas
Button gene;
ImageView image;
SeekBar ring_bar;
String collect;
private AudioManager am;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_prof);
gene = (Button) findViewById(R.id.gene);
image = (ImageView) findViewById(R.id.image);
ring_bar = (SeekBar) findViewById(R.id.ring_bar);
am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
int maxV = am.getStreamMaxVolume(AudioManager.STREAM_RING);
int curV = am.getStreamVolume(AudioManager.STREAM_RING);
ring_bar.setMax(maxV);
ring_bar.setProgress(curV);
ring_bar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar arg0) {
}
@Override
public void onStartTrackingTouch(SeekBar arg0) {
}
@Override
public void onProgressChanged(SeekBar arg0, int progress, boolean arg2) {
am.setStreamVolume(AudioManager.STREAM_RING, progress, 0);
}
});
int ring = ring_bar.getProgress();
String ringgg = Integer.toString(ring);
collect = ringgg;
gene.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
MultiFormatWriter multiFormatWriter = new MultiFormatWriter();
try{
BitMatrix bitMatrix = multiFormatWriter.encode(collect, BarcodeFormat.QR_CODE,200,200);
BarcodeEncoder barcodeEncoder = new BarcodeEncoder();
Bitmap bitmap = barcodeEncoder.createBitmap(bitMatrix);
image.setImageBitmap(bitmap);
}
catch (WriterException e){
e.printStackTrace();
}
}
});
}
}
Donc, ce que vous dites est que 'am.setStreamVolume' ne fonctionne pas? Je viens de copier votre code et ça marche bien pour moi. – Altoyyr
@Altoyyr Mon souci n'est pas avec celui-ci. Je veux juste la valeur du progrès car je génère QR pour la valeur de progrès changé. Mais je n'obtiens pas la dernière valeur de progrès que j'ai changé maintenant. Je n'ai que la valeur que j'ai changé la dernière fois. ring_bar.getProgress() me donne cette dernière valeur de progression mais j'ai besoin de la dernière. J'ai mon point? –