读书人

请问ratingbar控件出现空指针

发布时间: 2012-03-20 14:01:10 作者: rapoo

请教ratingbar控件,出现空指针
小弟初学Eclipse下的android编程,研究教材里的代码总是报空指针,请大家指教下问题在哪里

Main.java,就是监听而已,但是点击ratingbar控件就会报空指针

Java code
package mobile.android.ch05.ratingbar;import android.app.Activity;import android.os.Bundle;import android.widget.RatingBar;import android.widget.TextView;import android.widget.RatingBar.OnRatingBarChangeListener;public class Main extends Activity implements OnRatingBarChangeListener{    private RatingBar smallRatingBar;    private RatingBar indicatorRatingBar;    private TextView textView;    @Override    public void onRatingChanged(RatingBar ratingBar, float rating,            boolean fromUser)    {    }    @Override    public void onCreate(Bundle savedInstanceState)    {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        RatingBar ratingBar1 = (RatingBar) findViewById(R.id.ratingbar1);        RatingBar ratingBar2 = (RatingBar) findViewById(R.id.ratingbar2);        textView = (TextView) findViewById(R.id.textview);        ratingBar1.setOnRatingBarChangeListener(this);        ratingBar2.setOnRatingBarChangeListener(this);                smallRatingBar = (RatingBar) findViewById(R.id.smallRatingbar);        indicatorRatingBar = (RatingBar) findViewById(R.id.indicatorRatingbar);    }}


下面是main.xml布局文件也发上来,就是几个ratingbar

Java code
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical" android:layout_width="fill_parent"    android:layout_height="fill_parent">    <TextView android:layout_width="wrap_content"        android:layout_height="wrap_content" android:text="3颗星,步长是0.5" />    <RatingBar android:id="@+id/ratingbar1" android:layout_width="wrap_content"        android:layout_height="wrap_content" android:numStars="3"         android:rating="2" />    <TextView android:layout_width="wrap_content"        android:layout_height="wrap_content" android:text="5颗星,步长是0.1" />    <RatingBar android:id="@+id/ratingbar2" android:layout_width="wrap_content"        android:layout_height="wrap_content" android:numStars="5"        android:stepSize="0.1" />    <LinearLayout android:layout_width="fill_parent"        android:layout_height="wrap_content" android:layout_marginTop="10dip">        <TextView android:id="@+id/textview" android:layout_width="wrap_content"            android:layout_height="wrap_content"  />        <RatingBar android:id="@+id/smallRatingbar" style="?android:attr/ratingBarStyleSmall"            android:layout_marginLeft="5dip" android:layout_width="wrap_content"            android:layout_height="wrap_content" />    </LinearLayout>    <RatingBar android:id="@+id/indicatorRatingbar" style="?android:attr/ratingBarStyleIndicator"        android:layout_marginLeft="5dip" android:layout_width="wrap_content"        android:layout_height="wrap_content" android:stepSize="0.1" /></LinearLayout>



错误信息
12-26 01:10:52.039: W/dalvikvm(799): threadid=1: thread exiting with uncaught exception (group=0x409951f8)
12-26 01:10:52.089: E/AndroidRuntime(799): FATAL EXCEPTION: main
12-26 01:10:52.089: E/AndroidRuntime(799): java.lang.NullPointerException
12-26 01:10:52.089: E/AndroidRuntime(799): at android.widget.AbsSeekBar.onTouchEvent(AbsSeekBar.java:338)


12-26 01:10:52.089: E/AndroidRuntime(799): at android.view.View.dispatchTouchEvent(View.java:5462)
12-26 01:10:52.089: E/AndroidRuntime(799): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1953)
12-26 01:10:52.089: E/AndroidRuntime(799): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1680)
12-26 01:10:52.089: E/AndroidRuntime(799): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1953)
12-26 01:10:52.089: E/AndroidRuntime(799): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1680)
12-26 01:10:52.089: E/AndroidRuntime(799): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1953)
12-26 01:10:52.089: E/AndroidRuntime(799): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1680)
12-26 01:10:52.089: E/AndroidRuntime(799): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1953)
12-26 01:10:52.089: E/AndroidRuntime(799): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1680)
12-26 01:10:52.089: E/AndroidRuntime(799): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1882)
12-26 01:10:52.089: E/AndroidRuntime(799): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1361)
12-26 01:10:52.089: E/AndroidRuntime(799): at android.app.Activity.dispatchTouchEvent(Activity.java:2364)
12-26 01:10:52.089: E/AndroidRuntime(799): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1830)
12-26 01:10:52.089: E/AndroidRuntime(799): at android.view.View.dispatchPointerEvent(View.java:5638)
12-26 01:10:52.089: E/AndroidRuntime(799): at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:2827)
12-26 01:10:52.089: E/AndroidRuntime(799): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2406)
12-26 01:10:52.089: E/AndroidRuntime(799): at android.os.Handler.dispatchMessage(Handler.java:99)
12-26 01:10:52.089: E/AndroidRuntime(799): at android.os.Looper.loop(Looper.java:137)
12-26 01:10:52.089: E/AndroidRuntime(799): at android.app.ActivityThread.main(ActivityThread.java:4340)
12-26 01:10:52.089: E/AndroidRuntime(799): at java.lang.reflect.Method.invokeNative(Native Method)
12-26 01:10:52.089: E/AndroidRuntime(799): at java.lang.reflect.Method.invoke(Method.java:511)
12-26 01:10:52.089: E/AndroidRuntime(799): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
12-26 01:10:52.089: E/AndroidRuntime(799): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
12-26 01:10:52.089: E/AndroidRuntime(799): at dalvik.system.NativeStart.main(Native Method)



[解决办法]
smallRatingBar = (RatingBar) findViewById(R.id.smallRatingbar);
这句再写一遍。 在ontouch中
[解决办法]
你的onTouch写错了。 public boolean onTouch(View v, MotionEvent event) {

读书人网 >Android

热点推荐