Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在onProgressChanges之外获得seekBar的实时价值?_Java_Android_Android Studio - Fatal编程技术网

Java 如何在onProgressChanges之外获得seekBar的实时价值?

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

[这里我正在使用seekBar制作一个数字表应用程序,并希望在ListView中显示这些值]

所以我面临一些问题

问题-1:如果我在OnProcessChanged中设置“seekProg”,则无法访问外部的seekProg功能

问题-2:这里我不能在seekBarChangeListener中使用ArrayAdaptor[因为它显示错误]

所以我想在SeekbarchangListener之外获得实时更改值。那我怎么才能得到

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;
        }