alertDialog не работи както трябва

Опитвам се да изведа диалогов прозорец за предупреждение при натискане на определен бутон. Първо използвах примерен код на Android Developer с 'AlertDialog.Builder(getActivity());' вместо 'AlertDialog.Builder(ConverteerRente.this); ' Това не проработи, така че го промених според това, което намерих на този сайт, но сега програмата ми е принудена да спре след натискане на бутона.

За ваше знание, това се прави във втора дейност, различна от основната. Не съм сигурен дали това има значение....

Някой идея да остави това да работи?? Благодаря ви за отговорите

'

public void HulpConverteer(){
             // 1. Instantiate an AlertDialog.Builder with its constructor
             AlertDialog.Builder builder = new AlertDialog.Builder(ConverteerRente.this);

             // 2. Chain together various setter methods to set the dialog characteristics
             builder.setMessage(R.string.dialog_message)
                    .setTitle(R.string.dialog_title);
            // 3. Get the AlertDialog from create()
            AlertDialog dialog = builder.create();
            dialog.show();
        }

'

crashlog : "03-25 19:34:24.373: E/AndroidRuntime(18828): ФАТАЛНО ИЗКЛЮЧЕНИЕ: main 03-25 19:34:24.373: E/AndroidRuntime(18828): java.lang.IllegalStateException: Не може да се намери метод HulpConverteer(View) в класа на дейност com.example.myapplication.ConverteerRente за манипулатора onClick на изглед клас android.widget.Button с идентификатор 'button3' 03-25 19:34:24.373: E/AndroidRuntime(18828): в android. view.View$1.onClick(View.java:3078) 03-25 19:34:24.373: E/AndroidRuntime(18828): в android.view.View.performClick(View.java:3558) 03-25 19:34 :24.373: E/AndroidRuntime(18828): в android.view.View$PerformClick.run(View.java:14157) 03-25 19:34:24.373: E/AndroidRuntime(18828): в android.os.Handler. handleCallback(Handler.java:605) 03-25 19:34:24.373: E/AndroidRuntime(18828): в android.os.Handler.dispatchMessage(Handler.java:92) 03-25 19:34:24.373: E/ AndroidRuntime(18828): в android.os.Looper.loop(Looper.java:137) 03-25 19:34:24.373: E/AndroidRuntime(18828): в android.app.ActivityThread.main(ActivityThread.java:4514 ) 03-25 19:34:24.373: E/AndroidRuntime(18828): в java.lang.reflect.Method.invokeNative(Native Method) 03-25 19:34:24.373: E/AndroidRuntime(18828): в java. lang.reflect.Method.invoke(Method.java:511) 03-25 19:34:24.373: E/AndroidRuntime(18828): на com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790 ) 03-25 19:34:24.373: E/AndroidRuntime(18828): в com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557) 03-25 19:34:24.373: E/AndroidRuntime(18828) ): в dalvik.system.NativeStart.main(Native Method) 03-25 19:34:24.373: E/AndroidRuntime(18828): Причинено от: java.lang.NoSuchMethodException: HulpConverteer [class android.view.View] 03- 25 19:34:24.373: E/AndroidRuntime(18828): в java.lang.Class.getConstructorOrMethod(Class.java:460) 03-25 19:34:24.373: E/AndroidRuntime(18828): в java.lang. Class.getMethod(Class.java:915) 03-25 19:34:24.373: E/AndroidRuntime(18828): в android.view.View$1.onClick(View.java:3071) 03-25 19:34:24.373 : E/AndroidRuntime(18828): ... още 11"

<Button
        android:id="@+id/button3"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@+id/button2"
        android:layout_toRightOf="@+id/textViewTypeRente"
        android:text="@string/hulp" 
        android:onClick="HulpConverteer"/>

person VanpeltJ    schedule 25.03.2014    source източник
comment
Искате ли да покажете изскачащия прозорец от Fragment или Activity?   -  person    schedule 25.03.2014
comment
това зависи откъде извиквате този метод   -  person    schedule 25.03.2014
comment
Използвайте builder = new AlertDialog.Builder(this);   -  person ElDuderino    schedule 25.03.2014
comment
Все още има същия проблем с Use builder = new AlertDialog.Builder(this);   -  person VanpeltJ    schedule 25.03.2014
comment
Как наричате метода? Покажете този код.   -  person    schedule 25.03.2014
comment
Редактирам отговора си, моля, вижте   -  person Ersin Gülbahar    schedule 25.03.2014
comment
Как извиквате метода HulpConverteer? извиква ли се от изглед в xml от onClick или го извиквате от java код?   -  person J.Ajendra    schedule 25.03.2014


Отговори (3)


Грешката казва:

19:34:24.373: E/AndroidRuntime(18828): java.lang.IllegalStateException: Could not find a method HulpConverteer(View) in the activity class com.example.myapplication.ConverteerRente for onClick handler on view class android.widget.Button with id 'button3'

така че очаква Преглед! Опитайте тази...

public void HulpConverteer(View view) {
new AlertDialog.Builder(this)
    .setTitle(R.string.dialog_title)
    .setMessage(R.string.dialog_message)
    .setNegativeButton("Cancel", null)
    .setPositiveButton("Ok", null)
    .create()
    .show();
}

Това е същото като метода onClick(View v) на OnClickListener();

person ElDuderino    schedule 25.03.2014
comment
Имаш го! Работи! Ти си майстор! Наистина благодаря, никога не би трябвало да го намеря сам. Как да науча какво означават грешките? - person VanpeltJ; 25.03.2014
comment
Вижте това docs.oracle.com/javase/tutorial/essential/exceptions , всичко, което някога сте искали да знаете за изключенията. О, добре, и прочетете стека, вашето съобщение за грешка е доста многословно и казва точно какъв е проблемът... може да отнеме известно време, но ще свикнете да четете стека. - person ElDuderino; 25.03.2014

Опитайте това, трябва да работи.

public void HulpConverteer(View view) {
    new AlertDialog.Builder(getApplicationContext())
        .setTitle(R.string.dialog_title)
        .setMessage(R.string.dialog_message)
        .setNegativeButton("Cancel", null)
        .setPositiveButton("Ok", null)
        .create()
        .show();
}
person Community    schedule 25.03.2014
comment
Все още не работи.. Сигурен съм, че вие ​​сте добре, но трябва да има някакъв друг проблем. Ако изтрия моя метод и onClick в xml файла. Всичко работи добре. Така че трябва да е нещо малко и глупаво, което го съсипва - person VanpeltJ; 25.03.2014
comment
@VanpeltJ Ако погледнете дневника, ще видите, че HulpConverteer(View) се извиква, но хвърля NoSuchMethodException, защото има само HulpConverteer() метод (Без параметъра за изглед). - person ; 25.03.2014

Първият ред на регистрационния файл предполага, че извиквате метод HulpConverteer от Button в xml чрез атрибут onClick. Така че променете public void HulpConverteer() на public void HulpConverteer(View view)

person J.Ajendra    schedule 25.03.2014