2011-05-17 52 views
0

嗨,所有米有一個奇怪的問題。按鈕ClickListener nullpointerexception android

我有一個按鈕,當我設置onClick監聽器。
它給我null指針異常和應用程序強行關閉。
我的代碼是

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

它很奇怪,我請任何一個可以幫助?
堆棧跟蹤如下:

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 

更新:

一兩件事,我現在用的按鈕已經採取了從答案從鏈接
How to add a footer in ListView?
我已經使用按鈕代替TextView最後看一下回答#2。

m使用其他佈局中的Button而不是已經在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); 
+0

請發佈您的佈局和java文件 – Nikhil 2011-05-17 07:46:06

回答

1

,如果你在footerview添加按鈕,試試這個..

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

Dats it ..... Perfect ..非常感謝兄弟:) – Shah 2011-05-17 07:57:50

+0

most最受歡迎,親愛的 – 2011-05-17 08:03:56

0

幾個問題:

  • 你打電話與佈局代碼之前conatining按鈕的setContentView?
  • 如果是,您可以粘貼布局源代碼嗎?
+0

沒有.. m使用從其他佈局的按鈕,而不是從setContentView上設置的按鈕。因爲我使用列表,我想要一個按鈕在列表的末尾,所以我做了一個單獨的.xml,並使用下面的代碼與列表頁腳一起加入。我已編輯該問題,請檢查代碼。 – Shah 2011-05-17 07:46:11

+0

嗯我仍然需要在您發佈代碼之前的佈局和代碼。 – 2011-05-17 07:50:04

+0

您可以在我的問題中更新**鏈接**中看到xml和代碼的鏈接。 – Shah 2011-05-17 07:53:11

0

如果添加onclicklistener與「本」的活動不得不延長OnClickListener,otherwhise代碼應該是這樣的:

more.setOnClickListener(new OnClickListener(){ 
    @Override 
    public void onClick(View arg0) { 
    // TODO Auto-generated method stub 
    } 
}); 
+0

我確實用onClickListener實現了它 – Shah 2011-05-17 07:54:11

相關問題