如何在textview中显示评级栏值

时间:2012-11-22 08:42:28

标签: android textview rating ratingbar

我试图在textview中显示用户的评分,而我得到的是“进程意外终止”错误。有三项活动。包含评级栏的活动的XML编码是

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
tools:context=".RatingActivity" >

 <TextView
     android:id="@+id/textView3"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_centerHorizontal="true"
     android:layout_centerVertical="true"
     android:hint="@string/hello_world"
     android:textAppearance="?android:attr/textAppearanceLarge" />

</RelativeLayout>

和java编码是:

package com.example.myfirstapp;

import android.app.Activity;

import android.os.Bundle;
import android.widget.RatingBar;
import android.widget.TextView;

public class RatingActivity extends Activity 
{

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_rating);
    RatingBar ratingBar1=(RatingBar)findViewById(R.id.ratingBar1);
    TextView textView3 =(TextView) findViewById(R.id.textView3);
                textView3.setTextSize(40);
                textView3.setText("Rating is :"+ratingBar1.getRating());

}

}

我做错了什么?我是Android应用程序开发的新手。请提前帮助,谢谢。

3 个答案:

答案 0 :(得分:1)

RatingBar mBar = (RatingBar) findViewById(R.id.mRatingBar);
mBar.setOnClickListener(onclickbutton1);

public void onClick(View v) {

    RatingBar bar = (RatingBar) v;
    statusMessage.setText("value is " + bar.getRating());
}

答案 1 :(得分:0)

您的布局文件中没有ID ratingBar1的视图。

答案 2 :(得分:0)

考虑使用setOnRatingBarChangeListener获得更好的效果:

    myRatingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
        @Override
        public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
            myTextView.setText(String.format("%2.1f", rating));
        }
    });