2016-09-27 2 views
0

У меня возникла проблема с моим приложением. В то время как я запускал приложение, он сделал мне эту ошибку:java.lang.IllegalStateException: Не удалось найти метод saveData (просмотреть)

E/AndroidRuntime: FATAL EXCEPTION: main 
       Process: com.example.giuse.secondly, PID: 11553 
       java.lang.IllegalStateException: Could not find a method saveDate(View) in the activity class com.example.giuse.secondly.NewSheet for onClick handler on view class android.widget.Button with id 'button_save' 
        at android.view.View$1.onClick(View.java:4008) 
        at android.view.View.performClick(View.java:4781) 
        at android.view.View$PerformClick.run(View.java:19874) 
        at android.os.Handler.handleCallback(Handler.java:739) 
        at android.os.Handler.dispatchMessage(Handler.java:95) 
        at android.os.Looper.loop(Looper.java:135) 
        at android.app.ActivityThread.main(ActivityThread.java:5254) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at java.lang.reflect.Method.invoke(Method.java:372) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:902) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:697) 
       Caused by: java.lang.NoSuchMethodException: saveDate [class android.view.View] 
        at java.lang.Class.getMethod(Class.java:664) 
        at java.lang.Class.getMethod(Class.java:643) 
        at android.view.View$1.onClick(View.java:4001) 
        at android.view.View.performClick(View.java:4781)  
        at android.view.View$PerformClick.run(View.java:19874)  
        at android.os.Handler.handleCallback(Handler.java:739)  
        at android.os.Handler.dispatchMessage(Handler.java:95)  
        at android.os.Looper.loop(Looper.java:135)  
        at android.app.ActivityThread.main(ActivityThread.java:5254)  
        at java.lang.reflect.Method.invoke(Native Method)  
        at java.lang.reflect.Method.invoke(Method.java:372)  
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:902)  
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:697)  

При нажатии на кнопку SAVE, в файле XML называется add_new_sheet.xml, он должен сохранить данные, которые я вставил его.

  <Button 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/save_data" 
     android:id="@+id/button_save" 
     android:textAlignment="center" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:background="#444444" 
     android:textColor="#FFF" 
     android:onClick="saveDate" 
     tools:text="Save" 
      tools:ignore="ObsoleteLayoutParam" /> 

IDE предлагает мне создать onClick Listener. IDE предлагает мне создать прослушиватель onClick.

ответ

0

Вы могли бы делать что-то wrong.First, он может быть опечатка ошибка проверки имени метода вы сделали в своем классе

Во-вторых, чтобы вы ваш метод должен выглядеть следующим образом

public void saveDate(View view){ 
//TODO: Add method functions here 
} 

You должен иметь View в качестве параметра вашего метода

+0

Спасибо, я пропустил именно это. Я изменил класс, но теперь у меня другая проблема: «код» E/SQLiteLog: (1) таблица геофизика_таблица не имеет столбца с названием municipality – Heryx

+0

было бы лучше, если вы зададите новый вопрос для этого с полным кодом – androidXP

1

Изменить saveDate в вашем XML-атрибуте onClick на saveData. Я предполагаю, что это была опечатка.

0

Включите настройку onClick прослушивателя в xml, попробуйте найти представление о своей кнопке в коде и вызвать setOnClickListener и поместить туда свою реализацию.

0
public void addNewSheet (View view) { HashMap<String, String> queryValuesMap = new HashMap<String, String>(); 

в "HashMap();" слова «String» имеют серый цвет.

Смежные вопросы