Приложение вылетает при установке onClickListener? - PullRequest
0 голосов
/ 12 января 2012

Привет всем, я борюсь со странной проблемой. Я изменил свой ViewFlipper на ViewPager и с тех пор мое приложение упало. Я обнаружил, что это не Viewpager, который падает, а метод button.setOnClickListener. Я закомментировал все остальное, так что я заметил, что приложение работает нормально, если я закомментирую мои две кнопки с помощью этого метода. И это не то, что внутри onClick (), я уничтожил его, и он вылетает, даже если он пустой. Но вот код того, с кем я борюсь:

 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);




    MyPagerAdapter adapter = new MyPagerAdapter();
        ViewPager myPager = (ViewPager)findViewById(R.id.pager);
        myPager.setAdapter(adapter);
        myPager.setCurrentItem(1);
    new Toolbox();    

push = (Button)findViewById(R.id.pushbutton);
             push.setOnClickListener(new OnClickListener() {


                public void onClick(View v) {
                    head=head_field.getText().toString();
                    note=note_field.getText().toString();
                    try {
                        Toolbox.createTask(userToken,task, Dashboard_id, head, note, service);
                        head_field.setText("");
                        note_field.setText("");
                    } catch (ProducteevException e) {
                        return;

                    }
                }
            });

это кнопка выдержки xml:

<Button
             android:id="@+id/pushbutton"
             android:layout_width="200dp"
             android:layout_height="200dp"
             android:layout_gravity="center_horizontal"
             android:layout_marginTop="35dp"
             android:background="@drawable/push_button" />

и вот LogCat

01-12 20:50:24.402: W/dalvikvm(28405): threadid=1: thread exiting with uncaught exception (group=0x40015578)
01-12 20:50:24.402: E/AndroidRuntime(28405): FATAL EXCEPTION: main
01-12 20:50:24.402: E/AndroidRuntime(28405): java.lang.RuntimeException: Unable to start activity ComponentInfo{producteev.push/producteev.push.Producteev_pushActivity}: java.lang.NullPointerException
01-12 20:50:24.402: E/AndroidRuntime(28405):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
01-12 20:50:24.402: E/AndroidRuntime(28405):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
01-12 20:50:24.402: E/AndroidRuntime(28405):    at android.app.ActivityThread.access$1500(ActivityThread.java:117)
01-12 20:50:24.402: E/AndroidRuntime(28405):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
01-12 20:50:24.402: E/AndroidRuntime(28405):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-12 20:50:24.402: E/AndroidRuntime(28405):    at android.os.Looper.loop(Looper.java:123)
01-12 20:50:24.402: E/AndroidRuntime(28405):    at android.app.ActivityThread.main(ActivityThread.java:3687)
01-12 20:50:24.402: E/AndroidRuntime(28405):    at java.lang.reflect.Method.invokeNative(Native Method)
01-12 20:50:24.402: E/AndroidRuntime(28405):    at java.lang.reflect.Method.invoke(Method.java:507)
01-12 20:50:24.402: E/AndroidRuntime(28405):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
01-12 20:50:24.402: E/AndroidRuntime(28405):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
01-12 20:50:24.402: E/AndroidRuntime(28405):    at dalvik.system.NativeStart.main(Native Method)
01-12 20:50:24.402: E/AndroidRuntime(28405): Caused by: java.lang.NullPointerException
01-12 20:50:24.402: E/AndroidRuntime(28405):    at producteev.push.Producteev_pushActivity.onCreate(Producteev_pushActivity.java:122)
01-12 20:50:24.402: E/AndroidRuntime(28405):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
01-12 20:50:24.402: E/AndroidRuntime(28405):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
01-12 20:50:24.402: E/AndroidRuntime(28405):    ... 11 more

Было бы замечательно, если бы кто-то знал эту проблему.

Ответы [ 2 ]

0 голосов
/ 13 января 2012

Так как я не могу увидеть весь ваш код, это трудно понять наверняка, но похоже, что ошибка может быть сгенерирована при создании из вашей трассировки стека. Поскольку внутри метода onClick () ничего не происходит, единственное, о чем я могу подумать, это то, что push должно быть нулевым из кода, который вы опубликовали. Это может быть вызвано, если это проблема, либо неверным идентификатором (который передается в вызове findViewById()), либо, если компилятор выглядит нормально с идентификатором, который вы передаете (я думаю, что не компилируется иначе) это может быть кастинг с (Button), который не работает должным образом. Я бы проверил тип фактического класса вашего R.id.pushbutton и удостоверился, что это (Button).

0 голосов
/ 13 января 2012

Убедитесь, что ваш идентификатор push-кнопки является corect, похоже, что ваш findViewById () возвращает null ...

...