2012-01-12 4 views
0

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

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 

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

+0

см Эта линия 01-12 20: 50: 24,402: E/AndroidRuntime (28405): в producteev.push.Producteev_pushActivity.onCreate (Producteev_pushActivity.java:122) это ваш лучший друг, научиться искать для вас имя пакета, чтобы найти причину сбоя –

ответ

0

Убедитесь, что ваш толчок бутон идентификатор Corect, кажется, что ваш findViewById() возвращает нуль ...

+0

Да, это правильно, как вы видите здесь: push = (Button) findViewById (R.id.pushbutton); == android: id = "@ + id/pushbutton", но вы правы, он возвращает null !!! – Florian

+0

Я вижу это, но вы можете сделать точку прерывания в строке, где вы устанавливаете прослушиватель кликов, и посмотреть, является ли ваш объект кнопки нулевым или нет. – Cata

+0

Если он возвращает значение null, отправьте весь код, чтобы мы могли помочь вам лучше – Cata

0

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

+0

да, конечно, как вы видите в XML это кнопка, и Eclipse также говорит, что R.id.pushbutton в порядке, и он тоже правильный. – Florian

+0

Ах, правильно ... пропустили, увидев ваш XML выше ... возможно ли, что вы переопределяете метод findViewByID(), и что-то там не возвращается? т. е. вы возвращаете null из этого переопределения? Если вы узнаете больше о своем классе, в котором находится эта Java, проще будет помочь отладить, если это возможно. – waxspin

+0

решил. Глупая ошибка. Я изменил свой основной макет, когда я добавил Viewpager, поэтому Button не находится в Main Anymore, поэтому findViewById ничего не нашел. Теперь я использовал LayouInflater, чтобы получить правильный вид. Большое спасибо – Florian

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