Java android取消选中分级栏
我试图Java android取消选中分级栏,java,android,user-interface,Java,Android,User Interface,我试图勾选/取消勾选分级栏,但显然它不是不勾选的星星。我可以设置星号,但取消选中不起作用 <RatingBar android:id="@+id/bookmarks" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numStars="1" android:rating="0" android:stepSize="1" /&g
勾选/取消勾选
分级栏
,但显然它不是不勾选的星星。我可以设置星号,但取消选中不起作用
<RatingBar android:id="@+id/bookmarks"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="1"
android:rating="0"
android:stepSize="1"
/>
bookmarkStar.setOnRatingBarChangeListener(new OnRatingBarChangeListener()
{
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser)
{
if(beforeRating == 1.0)
{
bookmarkStar.setRating(0);
}
else
{
bookmarkStar.setRating(1);
}
}
});
bookmarkStar.setOnRatingBarChangeListener(新OnRatingBarChangeListener()
{
更改了公共无效率(率条率条、浮动率条、布尔值fromUser)
{
如果(评级前==1.0)
{
bookmarkStar.setRating(0);
}
其他的
{
bookmarkStar.setRating(1);
}
}
});
非常感谢您的帮助。可能是精度问题-您是否尝试过不将其与双倍值进行比较?甚至类似于:
bookmarkStar.setRating(beforeRating!=0?0:1)代码>?我尝试了bookmarkStar.setRating(之前!=0?0:1);问题似乎不同。我在onrating changed中放置了一个断点。一旦设置了评级并单击了星号,评级就不会发生变化……我不知道您是否在评级之前更新了
?如果不是这样,那么你的评级永远不会改变是有道理的,因为你测试的条件总是会产生相同的结果。不管怎样,onratingchanged不应该被称为其内部的changelistner吗?为什么调试没有显示这部分正在执行?我让它工作了。我认为这很奇怪,但可能不是。我的行为不像按钮。要删除分级,请将手指向左拖动。如果你按住并抬起手指,什么都不会发生:很可能是精度问题——你有没有试过不将其与双倍值进行比较?甚至类似于:bookmarkStar.setRating(beforeRating!=0?0:1)代码>?我尝试了bookmarkStar.setRating(之前!=0?0:1);问题似乎不同。我在onrating changed中放置了一个断点。一旦设置了评级并单击了星号,评级就不会发生变化……我不知道您是否在评级之前更新了
?如果不是这样,那么你的评级永远不会改变是有道理的,因为你测试的条件总是会产生相同的结果。不管怎样,onratingchanged不应该被称为其内部的changelistner吗?为什么调试没有显示这部分正在执行?我让它工作了。我认为这很奇怪,但可能不是。我的行为不像按钮。要删除分级,请将手指向左拖动。如果你按住并抬起手指,什么也不会发生:S