2012-12-24 18 views
6

यहाँ मेरी लेआउट फ़ाइललेआउट 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> 

यह काम कर रहा है। लेकिन जब मुझे तत्वों का क्रम बदलना पड़ता है। मुझे क्लासकास्ट अपवाद मिलेगा। मेरा मेरा लॉगकट ट्रेस यहाँ है।

12-24 18: 33: 58.131: ई/AndroidRuntime (2089): गंभीर अपवाद: मुख्य 12-24 18: 33: 58.131: ई/AndroidRuntime (2089): java.lang.RuntimeException: गतिविधि कंपोनेंटइन्फो {com.zoho.showmote/com.zoho.showmote.android.activity.ShowDocuments}: java.lang.ClassCastException: android.widget.Button को औरroid.widget पर नहीं डाला जा सकता है। प्रोग्रेसबार 12- 24 18: 33: 58.131: ई/AndroidRuntime (2089): android.app.ActivityThread.performLaunchActivity (ActivityThread.java:1956) पर 12-24 18: 33: 58.131: ई/AndroidRuntime (2089): पर android.app.Activ ityThread.handleLaunchActivity (ActivityThread.java:1981) 12-24 18: 33: 58.131: ई/एंड्रॉइड रनटाइम (2089): atroid.app.ActivityThread.access $ 600 (ActivityThread.java:123) 12-24 18: 33: 58.131: ई/एंड्रॉइड रनटाइम (2089): android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1147) 12-24 18: 33: 58.131: ई/एंड्रॉइड रनटाइम (2089): एंड्रॉइड पर। os.Handler.dispatchMessage (हैंडलर.जावा:99) 12-24 18: 33: 58.131: ई/एंड्रॉइड रनटाइम (2089): android.os.Looper.loop (Looper.java:137) 12-24 18: 33: 58.131: ई/एंड्रॉइड रनटाइम (2089): atroid.app.ActivityThread.main (ActivityThread.java:4424) 12-24 18: 33: 58.131: ई/एंड्रॉइड रनटाइम (2089):परjava.lang.reflect.Method.invokeNative (मूल विधि) 12-24 18: 33: 58.131: ई/एंड्रॉइड रनटाइम (2089): java.lang.reflect.Method.invoke (Method.java:5211) 12 -24 18: 33: 58.131: ई/एंड्रॉइड रनटाइम (2089): पर com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:784) 12-24 18: 33: 58.131: ई/एंड्रॉइड रनटाइम (2089): com.android.internal.os.ZygoteInit.main (ZygoteInit.java:5251) 12-24 18: 33: 58.131: ई/एंड्रॉइड रनटाइम (2089): dalvik.system.NativeStart पर। मुख्य (मूल विधि) 12-24 18: 33: 58.131: ई/एंड्रॉइड रनटाइम (2089): इसके कारण: java.lang.ClassCastException: android.widget.Button को android.widget पर नहीं डाला जा सकता है। प्रोग्रेसबार 12-24 18: 33: 58.131: ई/एंड्रॉइड रनटाइम (2089): com.zoho.showmote.android.activity.ShowDocuments.getAllViews (ShowDocuments.java:50) 12-24 18: 33: 58.131: ई/एंड्रॉइड रनटाइम (2089): com.zoho.showmote.android.activity.ShowDocuments.onCreate (ShowDocuments.java:39) 12-24 18: 33: 58.131: ई/एंड्रॉइड रनटाइम (2089): atroid.app.Activity.performCreate (गतिविधि .जावा: 4465) 12-24 18: 33: 58.131: ई/एंड्रॉइड रनटाइम (2089): atroid.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1049) 12-24 18: 33: 58.131: ई/एंड्रॉइड रनटाइम (2089): android.app.ActivityThread.performLaunchActivity (ActivityThread.java:1920) 12-24 18: 33: 58.131: ई/एंड्रॉइड रनटाइम (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() पर विचारों की दृश्यता बदल रहा हूं। कृपया मेरी मदद करें कि मैंने यहां क्या किया है?

+0

'.ClassCastException: इसका मतलब है android.widget.Button android.widget.ProgressBar' में ढाला नहीं जा सकता है आप कोड में कहीं Progressbar ताकि बटन कास्ट करने के लिए कोशिश कर रहे हैं स्टार्ट बटन बटन की घोषणा की जांच करें –

+0

प्रगतिबार = (प्रोग्रेसबार) findViewById (R.id.load_document_progress); स्टार्टबटन = (बटन) findViewById (R.id.start_btn); घोषणा के साथ कुछ भी गलत नहीं है। यह ग्रहण समस्या थी। जब मैं प्रोजेक्ट त्रुटि साफ़ करता हूं तो गायब हो जाता है। – Dinesh

+0

ऑर्डर बदलने से आपका क्या मतलब है? रन के बीच एक्सएमएल लेआउट बदलें, या ऐप चल रहा है, जबकि इसे बदलें? – Barak

उत्तर

9

जब आप विजेट का क्रम बदलते हैं। अपनी परियोजना को साफ करें और इसे फिर से बनाएं।

ग्रहण मेनू, परियोजना में ---> स्वच्छ

+0

हाँ आप सही @Nagaraj हैं। वह ग्रहण समस्या थी :) – Dinesh

+0

धन्यवाद - इससे मदद मिली :) – nithinreddy

+0

अविश्वसनीय। यह किसने सोचा होगा? धन्यवाद! – MaxK