在的RatingBar设定值 [英] Set value in RatingBar
本文介绍了在的RatingBar设定值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我不能为的RatingBar设定投资评级。我下面code。如何设置一个默认等级为动态添加的RatingBar?结果
这里是我的code。
I can't set rating for the RatingBar. My code below. How can I set a default rating for dynamically added RatingBar?
Here is my code.
public class DialogRate extends Activity implements OnRatingBarChangeListener {
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_layout);
LinearLayout ll_dialog = (LinearLayout) findViewById(R.id.linearLayout_dialog);
final RatingBar rate_bar = new RatingBar(context);
rate_bar.setOnRatingBarChangeListener(this);
rate_bar.setStepSize((float) 0.5);
rate_bar.setMax(5);
rate_bar.setId(1);
rate_bar.setRating(2.0f); // Error occur on this line!
ll_dialog.addView(rate_bar);
}
...
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
// TODO Auto-generated method stub
TextView rate_val = (TextView) findViewById(0);
rate_val.setText(Float.toString(ratingBar.getRating()));
}
错误堆栈:
Thread [<1> main] (Suspended)
ActivityThread.performLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 1645
ActivityThread.handleLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 1663
ActivityThread.access$1500(ActivityThread, ActivityThread$ActivityClientRecord, Intent) line: 117
ActivityThread$H.handleMessage(Message) line: 931
ActivityThread$H(Handler).dispatchMessage(Message) line: 99
Looper.loop() line: 123
ActivityThread.main(String[]) line: 3683
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 507
ZygoteInit$MethodAndArgsCaller.run() line: 839
ZygoteInit.main(String[]) line: 597
NativeStart.main(String[]) line: not available [native method]
关闭
对不起你们这个错误很简单。在onRatingChanged TextView的setRating后动态创建的。
Sorry guys this error is simple. The TextView in onRatingChanged dynamically created after setRating.
推荐答案
您可以使用此code:
You can use this code:
rate_bar.setRating(Float.parseFloat("2.0"));
或使用本:
rate_bar.setRating(0.0f);
这篇关于在的RatingBar设定值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文