Я хочу использовать переменную прогресса метода onProgressChanged вне внутреннего класса. Я попытался использовать метод, определенный во внешнем классе и вызванный из внутреннего класса, чтобы получить это значение. Но каждый раз получаю 0.
Не обновляется значение переменной progress. По сути, это приложение для Android для получения обновленного значения SeekBar.
Взгляните на код для лучшего понимания. В настоящее время я получаю только предыдущее/последнее значение прогресса. Не получаю обновленное значение сразу после его изменения.
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();
}
}
});
}
}
am.setStreamVolume
не работает? Я просто скопировал ваш код, и он отлично работает для меня. - person JDurstberger   schedule 17.01.2017