Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.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 Android NumberPicker隐藏递增和递减按钮_Java_Android - Fatal编程技术网

Java Android NumberPicker隐藏递增和递减按钮

Java Android NumberPicker隐藏递增和递减按钮,java,android,Java,Android,我使用的是a,目标是API 11及以上版本(3.0及以上),因此我使用的是受支持的。这在计时器应用程序中使用。我希望能够隐藏递增和递减按钮,以便按钮在隐藏时不会占用布局中的空间。我曾尝试这样做: View increment = secs.getChildAt(0); increment.setVisibility(View.GONE); View decrement = secs.getChildAt(2); decrement.setVisibility(View.GONE); 其中sec

我使用的是a,目标是API 11及以上版本(3.0及以上),因此我使用的是受支持的。这在计时器应用程序中使用。我希望能够隐藏递增和递减按钮,以便按钮在隐藏时不会占用布局中的空间。我曾尝试这样做:

View increment = secs.getChildAt(0);
increment.setVisibility(View.GONE);
View decrement = secs.getChildAt(2);
decrement.setVisibility(View.GONE);
其中secs是计时器中秒的数字图标。如果我试图隐藏它显示数字的位置(EditText小部件),它会很好地隐藏,但上面的代码没有任何作用

所以,我的问题是,如何隐藏递增和递减按钮?我真的很想避免像我在其他一些帖子中读到的那样制作我自己的自定义号码选择器,但是如果这真的是我愿意尝试的唯一方法的话

谢谢

以下是所需的附加代码。 秒表启动时onClick方法中的代码:

if (stopPush)
{
startTime = System.currentTimeMillis() - elapsedTime;
}
else
{
startTime = System.currentTimeMillis();
}
mHandler.removeCallbacks(startTimer);
mHandler.postDelayed(startTimer, 0);
处理秒表功能的代码:

private Runnable startTimer = new Runnable()
{
public void run()
{
    elapsedTime = System.currentTimeMillis() - startTime;
    updateTimer(elapsedTime);
    mHandler.postDelayed(this, REFRESH_RATE);
}
};
用于计算和更新秒表时间的代码:

this.millis = (int) (elapsedTime / 100);
this.seconds = (int) (elapsedTime / 1000);
this.minutes = (seconds / 60);
this.hours = (minutes / 60);
millis = millis % 10;
seconds = seconds % 60;
minutes = minutes % 60;
hours = hours % 24;
runOnUiThread(new Runnable()
{
public void run()
{
    hrs.setValue(hours);
}
});
runOnUiThread(new Runnable()
{
public void run()
{
    mins.setValue(minutes);
}
});
runOnUiThread(new Runnable()
{
public void run()
{
    secs.setValue(seconds);
}
});
runOnUiThread(new Runnable()
{
public void run()
{
    mills.setValue((int) millis);
}
});

当您没有在numberpicker上提供最小值和最大值时,按钮(通常)不会显示。

开发者网站说

NumberPicker是一个小部件,允许用户从预定义范围中选择一个数字。这个小部件有两种风格,呈现给用户的风格取决于当前的主题

如果当前主题来自
主题
,则小部件将当前值显示为一个可编辑的输入字段,上面有一个递增按钮,下面有一个递减按钮。长按按钮可快速更改当前值。点击输入字段可以输入所需的值

如果当前主题来自
theme\u Holo
theme\u Holo\u Light
小部件将当前值显示为一个可编辑的输入字段,上面的值较小,下面的值较大。轻触较小或较大的值可通过向上或向下设置数字轴动画使选定值成为当前值来选择该值。向上或向下投掷允许当前值的多次递增或递减。长按较小值和较大值也允许快速更改当前值。点击当前值可输入所需值


所以你可以试着改变主题

如果我不提供最小值和最大值,我会遇到其他问题吗?如果未提供,是否有可能导致崩溃的默认最小值和最大值?谢谢你的建议!只要其他一切都正常工作,这绝对足够简单。我尝试了你的建议,按钮确实消失了,但当我试图调用setValue来更改numberpicker的值时,没有任何效果。它只是停留在0。这不是我所期望的。你能帮我写一些你到底在做什么的代码吗?我想米尔斯等都是“NumberPicker”类型的吧?你确定你的线程被正确执行了吗?当您向这些方法添加断点时,您是否输入了这些方法?是的,在注释掉setMin和setMax方法调用部分之前,这些方法都可以正常工作。是的,米尔斯等都是数学家的。