等级栏上的类别强制转换例外?

问题描述

| 尝试执行应用程序时,我在ѭ0上收到类强制转换异常。这是
logcat
06-15 11:27:55.585: ERROR/AndroidRuntime(385): FATAL EXCEPTION: main
06-15 11:27:55.585: ERROR/AndroidRuntime(385): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.apps.niit.rating/com.apps.niit.rating.MovieratingActivity}: java.lang.classCastException: android.widget.ratingBar
06-15 11:27:55.585: ERROR/AndroidRuntime(385):     at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:2663)
06-15 11:27:55.585: ERROR/AndroidRuntime(385):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
06-15 11:27:55.585: ERROR/AndroidRuntime(385):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
06-15 11:27:55.585: ERROR/AndroidRuntime(385):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
06-15 11:27:55.585: ERROR/AndroidRuntime(385):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-15 11:27:55.585: ERROR/AndroidRuntime(385):     at android.os.Looper.loop(Looper.java:123)
06-15 11:27:55.585: ERROR/AndroidRuntime(385):     at android.app.ActivityThread.main(ActivityThread.java:4627)
06-15 11:27:55.585: ERROR/AndroidRuntime(385):     at java.lang.reflect.Method.invokeNative(Native Method)
06-15 11:27:55.585: ERROR/AndroidRuntime(385):     at java.lang.reflect.Method.invoke(Method.java:521)
06-15 11:27:55.585: ERROR/AndroidRuntime(385):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-15 11:27:55.585: ERROR/AndroidRuntime(385):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-15 11:27:55.585: ERROR/AndroidRuntime(385):     at dalvik.system.NativeStart.main(Native Method)
06-15 11:27:55.585: ERROR/AndroidRuntime(385): Caused by: java.lang.classCastException: android.widget.ratingBar
06-15 11:27:55.585: ERROR/AndroidRuntime(385):     at com.apps.niit.rating.MovieratingActivity.onCreate(MovieratingActivity.java:27)
06-15 11:27:55.585: ERROR/AndroidRuntime(385):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
06-15 11:27:55.585: ERROR/AndroidRuntime(385):     at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:2627)
06-15 11:27:55.585: ERROR/AndroidRuntime(385):     ... 11 more
我主要活动的代码如下:
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ratingBar;
import android.widget.Toast;

public class MovieratingActivity extends Activity {
    /** Called when the activity is first created. */
    private EditText movieName;
    private EditText userReview;
    private EditText releaseYear;
    private EditText movieDuration;
    ratingBar yourrating;
    private EditText movieStarring;
    private EditText movieDirector;
    private ImageView movieImage;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        movieName = (EditText)findViewById(R.id.editText2);
        userReview = (EditText)findViewById(R.id.editText1);
        releaseYear = (EditText)findViewById(R.id.editText3);
        movieDuration = (EditText)findViewById(R.id.editText4);
        yourrating = (ratingBar)findViewById(R.id.ratingBar1);
        movieStarring = (EditText)findViewById(R.id.editText5);
        movieDirector = (EditText)findViewById(R.id.editText6);
        movieImage = (ImageView)findViewById(R.id.imageView1);
        yourrating.setonratingBarchangelistener(new ratingBar.OnratingBarchangelistener(){

               @Override
               public void onratingChanged(ratingBar ratingBar,float rating,boolean fromUser) {
                // Todo Auto-generated method stub
                   yourrating.setrating(rating);
                   Toast.makeText(MovieratingActivity.this,\"rating:\"+String.valueOf(rating),Toast.LENGTH_LONG).show();
               }});
        movieImage.setimageResource(R.drawable.icon);       
    }
    public void myCickHandler(View view){
        Intent myIntent = new Intent(MovieratingActivity.this,null);
        Bundle myBundle = new Bundle();     
        myBundle.putString(\"key1\",movieName.getText().toString());
        myBundle.putString(\"key1\",userReview.getText().toString());
        myBundle.putString(\"key1\",releaseYear.getText().toString());
        myBundle.putString(\"key1\",movieDuration.getText().toString());
        myBundle.putDouble(\"key1\",yourrating.getrating());
        myBundle.putString(\"key1\",movieStarring.getText().toString());
        myBundle.putString(\"key1\",movieDirector.getText().toString()); 
        myIntent.putExtras(myBundle);
        startActivity(myIntent);
    }
}
布局文件标记如下:
    <?xml version=\"1.0\" encoding=\"utf-8\"?>
<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"
    android:layout_width=\"fill_parent\"
    android:layout_height=\"fill_parent\" android:orientation=\"vertical\" android:gravity=\"top\">
    <EditText android:layout_height=\"wrap_content\" android:layout_width=\"match_parent\" android:hint=\"Movie name\" android:id=\"@+id/editText2\" android:text=\"\"></EditText>
    <LinearLayout android:id=\"@+id/linearLayout1\" android:layout_height=\"wrap_content\" android:layout_width=\"match_parent\" android:orientation=\"horizontal\">
        <LinearLayout android:id=\"@+id/linearLayout2\" android:layout_height=\"match_parent\" android:layout_width=\"wrap_content\">
            <ImageView android:src=\"@drawable/icon\" android:id=\"@+id/imageView1\" android:layout_width=\"match_parent\" android:layout_height=\"match_parent\"></ImageView>
        </LinearLayout>
        <LinearLayout android:id=\"@+id/linearLayout3\" android:orientation=\"vertical\" android:layout_width=\"match_parent\" android:layout_height=\"wrap_content\" android:layout_weight=\"1\">
            <LinearLayout android:id=\"@+id/linearLayout4\" android:layout_height=\"match_parent\" android:orientation=\"vertical\" android:layout_width=\"match_parent\">
                <LinearLayout android:id=\"@+id/linearLayout6\" android:layout_height=\"wrap_content\" android:layout_width=\"match_parent\">
                    <EditText android:text=\"\" android:hint=\"Year\" android:id=\"@+id/editText3\" android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:layout_weight=\"1\" android:inputType=\"number\"></EditText>
                    <EditText android:layout_height=\"wrap_content\" android:hint=\"Duration\" android:layout_weight=\"1\" android:layout_width=\"wrap_content\" android:id=\"@+id/editText4\" android:text=\"\"></EditText>
                </LinearLayout>
            </LinearLayout>
            <LinearLayout android:id=\"@+id/linearLayout5\" android:layout_height=\"match_parent\" android:layout_width=\"wrap_content\" android:orientation=\"vertical\">
                <ratingBar android:id=\"@+id/ratingBar1\" android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\"></ratingBar>
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>
    <EditText android:layout_height=\"wrap_content\" android:layout_width=\"match_parent\" android:id=\"@+id/editText1\" android:text=\"\" android:hint=\"Write review here\" android:layout_weight=\"1\" android:gravity=\"top\"></EditText>
    <EditText android:layout_height=\"wrap_content\" android:layout_width=\"match_parent\" android:id=\"@+id/editText5\" android:text=\"\" android:hint=\"Starring\"></EditText>
    <EditText android:layout_height=\"wrap_content\" android:layout_width=\"match_parent\" android:id=\"@+id/editText6\" android:text=\"\" android:hint=\"Director\"></EditText>
    <Button android:layout_height=\"wrap_content\" android:text=\"Save\" android:id=\"@+id/button1\" android:layout_width=\"match_parent\"></Button>
</LinearLayout>
我无法找出问题,因为投放正确。     

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)