java - 如何在 onProgressChanges 之外获取 seekBar 的实时值?
问题描述
[这里我用 seekBar 制作了一个数字表应用程序,并希望在 ListView 中显示这些值]
所以我面临一些问题
问题 1:如果我在 onProgessChanged 内部创建“seekProg”,则无法在外部访问 seekProg 函数。
问题 2:这里我不能在 seekBarChangeListener 中使用 ArrayAdaptor [因为它显示错误]。
所以我想在 seekBarChangeListener 之外获得实时更改值。那我怎么得到??
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);
}
}
解决方案
你只需使用tableValue naa,我认为你可以这样做
seekBar.setOnSeekBarChangeListener(新 SeekBar.OnSeekBarChangeListener() {
int tableValue=0;
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
tableValue= progress;
}
您还可以在声明 TextView 的下方声明 tableValue。如果没有,请发表评论。希望这会对您有所帮助。
推荐阅读
- sql - 从oracle中的表中提取最大单个大写字符
- angular - 如何跟踪 AOT 构建错误的问题(Angular 5.2.9)
- javascript - 在 jupyter notebook 中复制到剪贴板
- buffer - OpenCL:向 GPU 查询一组未知大小的结果
- r - 在 macOS Mojave 中安装 R 包:if (nzchar(SHLIB_LIBADD)) 中的错误
- php - 使用 queryBuilder 按字符串值排序的 Phalcon
- sql-server - SQL:如果连接返回多个匹配项,则仅删除一行
- angular - 从多个资源请求数据
- powershell - 如何将不同的 Powershell 宏合并为一个?
- listview - ListView 在向上/向下滚动时滞后