0

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

谢谢你的时间

4

1 回答 1

0

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

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

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

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

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

于 2012-09-03T02:50:36.960 回答