我试图在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应用程序开发的新手。请提前帮助,谢谢。
答案 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));
}
});