2012-12-24 28 views
6

Đây là tệp bố cục của tôiNgoại lệ diễn xuất lớp trong FrameLayout khi đang cố thay đổi thứ tự lượt xem trong bố cục xml?

<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> 

Điều này đang hoạt động. Nhưng khi tôi phải thay đổi thứ tự của các nguyên tố. Tôi sẽ nhận được ClassCastException. Đây là dấu vết logcat của tôi.

12-24 18: 33: 58,131: E/AndroidRuntime (2089): Fatal EXCEPTION: chính 12-24 18: 33: 58,131: E/AndroidRuntime (2089): java.lang.RuntimeException: Không thể bắt đầu hoạt động ComponentInfo {com.zoho.showmote/com.zoho.showmote.android.activity.ShowDocuments}: java.lang.ClassCastException: android.widget.Button không thể truyền tới android.widget.ProgressBar 12- 24 18: 33: 58.131: E/AndroidRuntime (2089): tại android.app.ActivityThread.performLaunchActivity (ActivityThread.java:1956) 12-24 18: 33: 58.131: E/AndroidRuntime (2089): tại android.app.Activ ityThread.handleLaunchActivity (ActivityThread.java:1981) 12-24 18: 33: 58.131: E/AndroidRuntime (2089): tại android.app.ActivityThread.access $ 600 (ActivityThread.java:123) 12-24 18: 33: 58.131: E/AndroidRuntime (2089): tại android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1147) 12-24 18: 33: 58.131: E/AndroidRuntime (2089): tại android. os.Handler.dispatchMessage (Handler.java:99) 12-24 18: 33: 58.131: E/AndroidRuntime (2089): tại android.os.Looper.loop (Looper.java:137) 12-24 18: 33: 58.131: E/AndroidRuntime (2089): tại android.app.ActivityThread.main (ActivityThread.java:4424) 12-24 18: 33: 58.131: E/AndroidRuntime (2089): tại java.lang.reflect.Method.invokeNative (Phương thức Gốc) 12-24 18: 33: 58.131: E/AndroidRuntime (2089): tại java.lang.reflect.Method.invoke (Method.java stronger11) 12 -24 18: 33: 58.131: E/AndroidRuntime (2089): tại com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:784) 12-24 18: 33: 58.131: E/AndroidRuntime (2089): tại com.android.internal.os.ZygoteInit.main (ZygoteInit.java:551) 12-24 18: 33: 58.131: E/AndroidRuntime (2089): tại dalvik.system.NativeStart. main (Native Method) 12-24 18: 33: 58.131: E/AndroidRuntime (2089): Gây ra bởi: java.lang.ClassCastException: android.widget.Button không thể truyền tới android.widget.ProgressBar 12-24 18: 33: 58.131: E/AndroidRuntime (2089): tại com.zoho.showmote.android.activity.ShowDocuments.getAllViews (ShowDocuments.java:50) 12-24 18: 33: 58.131: E/AndroidRuntime (2089): tại com.zoho.showmote.android.activity.ShowDocuments.onCreate (ShowDocuments.java:39) 12-24 18: 33: 58.131: E/AndroidRuntime (2089): tại android.app.Activity.performCreate (Hoạt động .java: 4465) 12-24 18: 33: 58.131: E/AndroidRuntime (2089): tại android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1049) 12-24 18: 33: 58.131: E/AndroidRuntime (2089): tại android.app.ActivityThread.performLaunchActivity (ActivityThread.java:1920) 12-24 18: 33: 58.131: E/AndroidRuntime (2089): ...11 hơn

Và đây là Hoạt động tôi đang

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); 
} 

Tôi đã nhận lỗi tại dòng 1 của phương pháp này. Tôi đang thay đổi độ hiển thị của các khung nhìn trong OnPreExecute của Asyntask và onPostExecute(). Xin hãy giúp tôi làm gì sai ở đây?

+0

'.ClassCastException: android.widget.Button không thể được đúc để android.widget.ProgressBar' có nghĩa là bạn đang cố gắng để cast Nút ProgressBar nơi nào đó trong mã để kiểm tra khai báo nút startButton –

+0

progressBar = (ProgressBar) findViewById (R.id.load_document_progress); startButton = (Button) findViewById (R.id.start_btn); Không có gì sai với tuyên bố. Đó là vấn đề nhật thực. Khi tôi làm sạch lỗi dự án đã biến mất. – Dinesh

+0

Bạn có ý gì khi thay đổi thứ tự? Thay đổi bố cục xml giữa các lần chạy hoặc thay đổi nó trong khi ứng dụng đang chạy? – Barak

Trả lời

9

khi bạn thay đổi thứ tự của Tiện ích con. Làm sạch dự án của bạn và xây dựng lại nó.

Trong Menu Eclipse, Dự án ---> sạch

+0

Có bạn là đúng @Nagaraj. Đó là vấn đề nhật thực :) – Dinesh

+0

Cảm ơn - điều này đã giúp :) – nithinreddy

+0

Không thể tin được. Ai có thể nghĩ vậy? Cảm ơn! – MaxK

Các vấn đề liên quan