【问题标题】:Android seekbar does not display the min and max valuesAndroid seekbar 不显示最小值和最大值
【发布时间】:2015-09-03 19:39:35
【问题描述】:

我想为双手搜索栏动态设置最小值和最大值。我从 JSON Response 获得了 seekbar 的最小值和最大值。但我的搜索栏不显示最小值和最大值。我给的双手搜索栏是这样的:

    rangeSeekBar = new RangeSeekBar (seekbar_MinValue, seekbar_MaxValue, getActivity());
    ViewGroup layout = (ViewGroup) view.findViewById(R.id.range_bar_LinearLayout);
    layout.addView(rangeSeekBar);


    rangeSeekBar.setOnRangeSeekBarChangeListener(new RangeSeekBar.OnRangeSeekBarChangeListener<Integer>() {
        @Override
        public void onRangeSeekBarValuesChanged(RangeSeekBar<?> bar, Integer minValue, Integer maxValue) {
            // handle changed range values
            Log.i(TAG, "User selected new range values: MIN=" + minValue + ", MAX=" + maxValue);

            lsp_minvalue = minValue;
            lsp_maxvalue = maxValue;

            pt_lspMintv.setText(Integer.toString(lsp_minvalue));
            pt_lspMaxtv.setText(Integer.toString(lsp_maxvalue));



        }
    });


    // The problem is, at the time of setSelectedMinValue

       int seekbar_MinValue = 0, seekbar_MaxValue = 0;
                try {


                    seekbar_MinValue = Integer.parseInt(minSeekValue);
                    rangeSeekBar.setSelectedMinValue(seekbar_MinValue);

                    seekbar_MaxValue = Integer.parseInt(maxSeekValue);
                    rangeSeekBar.setSelectedMaxValue(seekbar_MaxValue);


                }catch (NumberFormatException e){
                    e.printStackTrace();

【问题讨论】:

    标签: android


    【解决方案1】:

    不使用setOnRangeSeekBarChangeListener,你必须使用这个,

    seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
            int progressChanged = 0;
    
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser){
                progressChanged = progress;
            }
    
            public void onStartTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub
            }
    
            public void onStopTrackingTouch(SeekBar seekBar) {
                Toast.makeText(SeekbarActivity.this,"seek bar progress:"+progressChanged, 
                        Toast.LENGTH_SHORT).show();
            }
        });
    

    【讨论】:

    • No @Das 不是 Default Seekbar 其 Custom RangeSeekBar。
    • 设置它.. seekBar.setNotifyWhileDragging(true);
    猜你喜欢
    • 2016-05-21
    • 1970-01-01
    • 2012-01-19
    • 1970-01-01
    • 2013-08-25
    • 1970-01-01
    • 2021-04-04
    • 2021-01-13
    • 1970-01-01
    相关资源
    最近更新 更多