【问题标题】:show progress of seekbar in feet, inches and quarter inch以英尺、英寸和四分之一英寸显示搜索栏的进度
【发布时间】:2012-08-30 21:01:29
【问题描述】:

我想要一个搜索栏,当用户滑动拇指垫时,它会以四分之一英寸的增量添加/减去。它需要从 0'-0.0" 开始并上升到 20'-0.0" 我是编程新手,我发现 seekbar 只接受“int”而不接受 double(这是我需要的)。那么我是否需要使用每个单独的值创建和排列,然后获取进度条的结果,然后从我的数组中提取该数字以显示在 textView 中,或者有没有办法让进度条增加四分之一英寸?

感谢您的宝贵时间

【问题讨论】:

    标签: android increment seekbar


    【解决方案1】:

    因为除了我在问题中所说的以外,我没有得到其他解决方案的回复,所以我是如何编码的,以防其他人可能需要知道。

    ArrayList<String> arrayListName = new ArrayList<String>();    
    for (int i = 0; i < 20; i++) {
            for (int ii = 0; ii < 12; ii++) {
                for (int iii = 0; iii < 4; iii++) {
                    arrayListName.add(i + "'-" + ii + "." + iii + '"');
                } // end nested loop iii
            } // end nested loop ii
        } // end nested loop i
        String twenty = "20'-0.0\"";
        arrayListName.add(twenty);
        int lengthOfArrayListName = arrayListName.size(); 
    

    上面的代码生成了一个包含 960 个元素的数组。然后我使用下一行来设置进度条的最大值

    seekBarName.setMax(lengthOfArrayListName - 1);
    

    您需要从长度中减去 1,因为数组以 0 而不是 1 开头,否则您将得到一个 arrayoutofbounds FC

    next 在 SeekBar 的 onProgressChanged 中,我使用这一行来使用 seekbar 的位置值,然后从 arrayListName 设置 textView 的文本。

    textViewName.setText(arrayListName.get(progress));
    

    这个方法工作得很好,除了有这么大的数字可供选择,用户可能(很可能无法)在他们想要的数字上停止拇指按钮。所以我在搜索栏下添加了一个“+”和“-”按钮,将进度增加 1。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-09
      • 2014-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-02
      相关资源
      最近更新 更多