2016-03-26 28 views
-1

Gezinme çekmecemde düğmeler ekledim. Ancak, düğmelere tıkladığımda. Uygulama durmaya zorlanıyor. Kodlarda hata yok. İşte burada Java dosyası Ayrıca, burada logcat. İşte Gezinme Çekmece düğmesi çalışmıyor

03-27 07:36:12.185 24720-24720/com.doepiccoding.navigationdrawer E/AndroidRuntime: FATAL EXCEPTION: main 
                        Process: com.doepiccoding.navigationdrawer, PID: 24720 
                        java.lang.IllegalStateException: Could not find a method onClear(View) in the activity class com.android.pet.view.NavigationActivity for onClick handler on view class android.widget.Button with id 'clearBtn' 
                         at android.view.View$1.onClick(View.java:3871) 
                         at android.view.View.performClick(View.java:4499) 
                         at android.view.View$PerformClick.run(View.java:18575) 
                         at android.os.Handler.handleCallback(Handler.java:733) 
                         at android.os.Handler.dispatchMessage(Handler.java:95) 
                         at android.os.Looper.loop(Looper.java:136) 
                         at android.app.ActivityThread.main(ActivityThread.java:5021) 
                         at java.lang.reflect.Method.invokeNative(Native Method) 
                         at java.lang.reflect.Method.invoke(Method.java:515) 
                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:827) 
                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643) 
                         at dalvik.system.NativeStart.main(Native Method) 
                        Caused by: java.lang.NoSuchMethodException: onClear [class android.view.View] 
                         at java.lang.Class.getConstructorOrMethod(Class.java:472) 
                         at java.lang.Class.getMethod(Class.java:857) 
                         at android.view.View$1.onClick(View.java:3864) 
                         at android.view.View.performClick(View.java:4499)  
                         at android.view.View$PerformClick.run(View.java:18575)  
                         at android.os.Handler.handleCallback(Handler.java:733)  
                         at android.os.Handler.dispatchMessage(Handler.java:95)  
                         at android.os.Looper.loop(Looper.java:136)  
                         at android.app.ActivityThread.main(ActivityThread.java:5021)  
                         at java.lang.reflect.Method.invokeNative(Native Method)  
                         at java.lang.reflect.Method.invoke(Method.java:515)  
                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:827)  
                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643)  
                         at dalvik.system.NativeStart.main(Native Method)  

XML dosyası

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:orientation="vertical" 
       android:padding="20dp"> 

    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="What is ICT?" 
     android:textColor="@android:color/black" 
     android:textSize="20sp" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:gravity="center" 
     /> 

    <RadioGroup 
     android:id="@+id/radioGroup" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
      > 

     <RadioButton 
      android:id="@+id/radioButton1" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="Option 1" 
      android:textColor="@android:color/black" 
      android:textSize="20sp" 
/> 

     <RadioButton 
      android:id="@+id/radioButton2" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="Option 2" 
      android:textColor="@android:color/black" 
      android:textSize="20sp" 
/> 

     <RadioButton 
      android:id="@+id/radioButton3" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="Option 3" 
      android:textColor="@android:color/black" 
      android:textSize="20sp" 
/> 
    </RadioGroup> 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal"> 

     <Button 
      android:id="@+id/clearBtn" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:onClick="onClear" 
      android:text="Clear " /> 

     <Button 
      android:id="@+id/submitBtn" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:onClick="onSubmit" 
      android:text="Submit" /> 
    </LinearLayout> 
</LinearLayout> 
+1

Tıkladığınız görünümlerin düzenini gösterin. –

+0

Düzen XML'de "onClick" özellikleri olarak ayarladığınız yöntemler, "Etkinlik" sınıfının üyeleri olmalıdır. Onlar 'Fragment' içinde olamazlar. Bu durumda, 'OnTouchListener’ın dinamik olarak ayarlanması tercih edilir. Diğer bir deyişle, XML özniteliğini ayarlamak yerine 'Parçanın' 'cıvıldama '()' yöntemindeki 'Button's için' setOnClickListener() 'yöntemini kullanın. –

+0

@DougStevenson Üzgünüm, cevabını almadım. Xml dosyasını veya uygulamanın resmini göstermem gerektiğini mi söylüyorsunuz? – Dreamer

cevap

1

mizanpajınızda Bu düğme kodudur:

<Button 
     android:id="@+id/clearBtn" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:onClick="onClear" 
     android:text="Clear " /> 
O tıklandığında, onClear adlı bir yöntem yürütmek için olduğunu söylüyor

() görünümü içeren etkinlikte.

Hata iletiniz, etkinlikte hiçbir ilgili onClear() yönteminin olmadığını söylüyor. Parçanızda bir açıklık var, ama bu bir etkinlik değil. Sadece aktivitelerle çalışır.

Android'in yerine, bir yöntemin adını belirtmek için onClick, kodda bir OnClickListener nesnesini kaydetmek neredeyse her zaman daha iyidir.

+0

Kodumdaki onclicklistener'ı nasıl uygularım? – Dreamer

+0

Bu konuda birçok harika eğitici var. Ara ve deneyin, sonra belirli bir probleminiz varsa, başka bir soru sorun. –

+0

Şu anda üzerinde Im. teşekkür ederim – Dreamer

İlgili konular