6

これが私のレイアウトファイルです

 <FrameLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="3">

    <WebView
        android:id="@+id/document_id"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

   <ProgressBar
        android:id="@+id/load_document_progress"
        android:layout_width="30dp"
        android:layout_gravity="center"
        android:layout_height="30dp"
        android:visibility="invisible"/>

    <Button
        android:id="@+id/start_btn"
        android:layout_width="90dp"
        android:layout_height="30dp"
        android:text="@string/start_btn_txt"
        android:textStyle="bold"
        android:textColor="#000000"
        android:layout_gravity="center"
        android:visibility="invisible"
        android:onClick="updatePresentationId"
        android:background="@drawable/border_radius"/>



</FrameLayout>

これは機能しています。しかし、要素の順序を変更する必要がある場合。ClassCastExceptionが発生します。これが私のlogcatトレースです。

12-24 18:33:58.131:E / AndroidRuntime(2089):致命的な例外:メイン12-24 18:33:58.131:E / AndroidRuntime(2089):java.lang.RuntimeException:アクティビティComponentInfo{comを開始できません。 zoho.showmote / com.zoho.showmote.android.activity.ShowDocuments}:java.lang.ClassCastException:android.widget.Buttonをandroid.widget.ProgressBar 12-24 18:33:58.131にキャストできません:E / AndroidRuntime( 2089):android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)12-24 18:33:58.131:E / AndroidRuntime(2089):android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)12 -24 18:33:58.131:E / AndroidRuntime(2089):android.app.ActivityThread.access $ 600(ActivityThread.java:123)12-24 18:33:58.131:E / AndroidRuntime(2089):androidでapp.ActivityThread $ H.handleMessage(ActivityThread.java:1147)12-24 18:33:58.131:E / AndroidRuntime(2089):android.os.Handler.dispatchMessage(Handler.java:99)12-24 18:33:58.131:E / AndroidRuntime(2089):at android.os.Looper.loop(Looper.java:137)12-24 18:33:58.131:E / AndroidRuntime(2089):android.app.ActivityThread.main(ActivityThread.java:4424)12-24 18: 33:58.131:E / AndroidRuntime(2089):at java.lang.reflect.Method.invokeNative(Native Method)12-24 18:33:58.131:E / AndroidRuntime(2089):atjava.lang.reflect.Method。 invoke(Method.java:511)12-24 18:33:58.131:E / AndroidRuntime(2089):com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:784)12-24 18: 33:58.131:E / AndroidRuntime(2089):com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)12-24 18:33:58.131:E / AndroidRuntime(2089):dalvik.system .NativeStart。main(ネイティブメソッド)12-24 18:33:58.131:E / AndroidRuntime(2089):原因:java.lang.ClassCastException:android.widget.Buttonをandroid.widget.ProgressBarにキャストできません12-24 18:33 :58.131:E / AndroidRuntime(2089):com.zoho.showmote.android.activity.ShowDocuments.getAllViews(ShowDocuments.java:50)12-24 18:33:58.131:E / AndroidRuntime(2089):com。 zoho.showmote.android.activity.ShowDocuments.onCreate(ShowDocuments.java:39)12-24 18:33:58.131:E / AndroidRuntime(2089):android.app.Activity.performCreate(Activity.java:4465)12 -24 18:33:58.131:E / AndroidRuntime(2089):android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)12-24 18:33:58.131:E / AndroidRuntime(2089):android.app .ActivityThread.performLaunchActivity(ActivityThread.java:1920)12-24 18:33:58.131:E / AndroidRuntime(2089):...11もっと

そして、これが私のアクティビティコードです

public void getAllViews()
{
    **progressBar=(ProgressBar)findViewById(R.id.load_document_progress);**
    startButton=(Button)findViewById(R.id.start_btn);
    webView=(WebView)findViewById(R.id.document_id);
    userName=(TextView)findViewById(R.id.userNameTv);
    presentationName=(TextView)findViewById(R.id.presentation_name);
}

このメソッドの1行目でエラーが発生しました。AsyntaskのonPreExecuteおよびonPostExecute()のビューの表示を変更しています。私がここで間違ったことを助けてください?

4

1 に答える 1

9

ウィジェットの順序を変更するとき。プロジェクトをクリーンアップして、再度ビルドします。

Eclipseメニューで、[プロジェクト]--->[クリーン]

于 2012-12-24T13:30:56.610 に答える