nullpointerexception на кнопке ClickListener для Android - PullRequest
0 голосов
/ 17 мая 2011

Привет всем, у меня странная проблема.

У меня есть кнопка, и когда я включаю ее, нажмите кнопку прослушивания.
это дает мне нулевое Исключение Указателя, и приложение принудительно закрывается.
мой код

more = (Button) findViewById(R.id.moreButton);
System.out.println("BEFORE more listener CALL");
more.setOnClickListener(this);

Это так странно для меня, пожалуйста, кто-нибудь может помочь?
stackTrace ниже:

05-17 13:28:54.141: ERROR/AndroidRuntime(1509): FATAL EXCEPTION: main
05-17 13:28:54.141: ERROR/AndroidRuntime(1509): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.sigmatec.finditnear/org.sigmatec.finditnear.customListView}: java.lang.NullPointerException
05-17 13:28:54.141: ERROR/AndroidRuntime(1509):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
05-17 13:28:54.141: ERROR/AndroidRuntime(1509):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
05-17 13:28:54.141: ERROR/AndroidRuntime(1509):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
05-17 13:28:54.141: ERROR/AndroidRuntime(1509):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
05-17 13:28:54.141: ERROR/AndroidRuntime(1509):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-17 13:28:54.141: ERROR/AndroidRuntime(1509):     at  android.os.Looper.loop(Looper.java:123)
05-17 13:28:54.141: ERROR/AndroidRuntime(1509):     at android.app.ActivityThread.main(ActivityThread.java:4627)
05-17 13:28:54.141: ERROR/AndroidRuntime(1509):     at java.lang.reflect.Method.invokeNative(Native Method)
05-17 13:28:54.141: ERROR/AndroidRuntime(1509):     at java.lang.reflect.Method.invoke(Method.java:521)
05-17 13:28:54.141: ERROR/AndroidRuntime(1509):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
05-17 13:28:54.141: ERROR/AndroidRuntime(1509):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-17 13:28:54.141: ERROR/AndroidRuntime(1509):     at dalvik.system.NativeStart.main(Native Method)
05-17 13:28:54.141: ERROR/AndroidRuntime(1509): Caused by: java.lang.NullPointerException
05-17 13:28:54.141: ERROR/AndroidRuntime(1509):     at org.sigmatec.finditnear.customListView.onCreate(customListView.java:114)
05-17 13:28:54.141: ERROR/AndroidRuntime(1509):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-17 13:28:54.141: ERROR/AndroidRuntime(1509):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
05-17 13:28:54.141: ERROR/AndroidRuntime(1509):     ... 11 more

ОБНОВЛЕНО:

еще одна вещь, которую я использую, кнопка была взята из ответа по ссылке
Как добавить нижний колонтитул в ListView?
Я использовал кнопку вместо TextView Взгляните на ответ № 2 в конце.

м, используя кнопку из другого макета, а не из того, который был установлен в setContentView. потому что я использую список и мне нужна кнопка в конце списка, поэтому я создал отдельный файл .xml и использовал следующий код для соединения его с нижним колонтитулом списка.
КОД:

super.onCreate(savedInstanceState);
setContentView(R.layout.listview);

 ListView l1 = (ListView) findViewById(R.id.ListView01);
    View footerView = 
        ((LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.layout_footer, null, false);

    l1.addFooterView(footerView);
    l1.setAdapter(adapter);

Ответы [ 3 ]

1 голос
/ 17 мая 2011

если вы добавляете кнопку в нижний колонтитул, попробуйте это ..

more = (Button)footerview.findViewById(R.id.moreButton);
System.out.println("BEFORE more listener CALL");
more.setOnClickListener(this);
0 голосов
/ 17 мая 2011

если вы добавляете onclicklistener с «this», действие должно было расширять OnClickListener, в противном случае код должен выглядеть следующим образом:

more.setOnClickListener(new OnClickListener(){
    @Override
    public void onClick(View arg0) {
    // TODO Auto-generated method stub
   }
});
0 голосов
/ 17 мая 2011

Пара вопросов:

  • Вы вызывали setContentView с макетом, содержащим кнопку перед этим кодом?
  • Если да, можете ли вы вставить источник макета?
...