4
我無法爲RatingBar設置評分。我的代碼如下。如何爲動態添加的RatingBar設置默認評級?
這是我的代碼。評分欄中的設置值
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之後動態創建。
a)總是添加的錯誤。 b)也許你必須'setNumStars()' – zapl 2012-03-17 14:41:06
錯誤 - 找不到源代碼。 setNumStars()不能幫助我:( – 2012-03-17 14:47:50
這將是'rate_bar.setNumStars(5);'。請將你從logcat得到的完整錯誤信息添加到你的文章中,沒有你沒有得到更多的猜測 – zapl 2012-03-17 14:54:13