Java 如何在onProgressChanges之外获得seekBar的实时价值?
[这里我正在使用seekBar制作一个数字表应用程序,并希望在ListView中显示这些值] 所以我面临一些问题 问题-1:如果我在OnProcessChanged中设置“seekProg”,则无法访问外部的seekProg功能 问题-2:这里我不能在seekBarChangeListener中使用ArrayAdaptor[因为它显示错误] 所以我想在SeekbarchangListener之外获得实时更改值。那我怎么才能得到Java 如何在onProgressChanges之外获得seekBar的实时价值?,java,android,android-studio,Java,Android,Android Studio,[这里我正在使用seekBar制作一个数字表应用程序,并希望在ListView中显示这些值] 所以我面临一些问题 问题-1:如果我在OnProcessChanged中设置“seekProg”,则无法访问外部的seekProg功能 问题-2:这里我不能在seekBarChangeListener中使用ArrayAdaptor[因为它显示错误] 所以我想在SeekbarchangListener之外获得实时更改值。那我怎么才能得到 package com.andro.table; import a
package com.andro.table;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SeekBar;
import android.widget.TextView;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView=findViewById(R.id.textView);
SeekBar seekBar=findViewById(R.id.seekBar);
seekBar.setMax(20);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
int seekProg= seekBar.getProgress();
textView.setText(""+seekProg);
int tableValue= seekBar.getProgress();
ListView mylistView= findViewById(R.id.myListView);
ArrayList<String> table =new ArrayList<>();
for(int i=1;i<=20;i++) {
int a=tableValue*i;
table.add(tableValue+" * "+ i+ "="+a);
}
ArrayAdapter<String> arrayAdapter= new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,table);
mylistView.setAdapter(arrayAdapter);
}
}
package com.andro.table;
导入androidx.appcompat.app.appcompat活动;
导入android.os.Bundle;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
导入android.widget.SeekBar;
导入android.widget.TextView;
导入java.util.ArrayList;
公共类MainActivity扩展了AppCompatActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView TextView=findViewById(R.id.TextView);
SeekBar SeekBar=findviewbyd(R.id.SeekBar);
seekBar.setMax(20);
seekBar.setOnSeekbarchaneListener(新的seekBar.onSeekbarchaneListener(){
@凌驾
public void onProgressChanged(SeekBar-SeekBar、int-progress、boolean-fromUser){
}
@凌驾
开始跟踪触摸时的公共无效(SeekBar SeekBar){
}
@凌驾
TopTrackingTouch(SeekBar SeekBar)上的公共无效{
}
});
int seekProg=seekBar.getProgress();
textView.setText(“+seekProg”);
int tableValue=seekBar.getProgress();
ListView mylistView=findViewById(R.id.mylistView);
ArrayList table=新的ArrayList();
对于(inti=1;i您只需使用表值naa,我认为您可以这样做
seekBar.setOnSeekbarchaneListener(新的seekBar.onSeekbarchaneListener(){
您还可以在声明TextView的下方声明tableValue。如果没有,请发表评论
int tableValue=0;
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
tableValue= progress;
}