2012-12-29 43 views
0

我在代碼片段中遇到了一個錯誤。我嘗試調試它,但沒用。在指定位置的popupwindow中顯示的空指針異常

代碼片段 -

public void createNewList(){ 
      popupCreateList = new PopupWindow(popupCreateListView,LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); 
      popupCreateList.setBackgroundDrawable(new BitmapDrawable()); 
      popupCreateList.setOutsideTouchable(true); 
      ((LinearLayout)popUpListView.getParent()).removeView(popUpListView); 
      Log.i(TAG,"popupCreateList-->>>" + popupCreateList + R.layout.layout_task_manager); 
    EXCEPTION--> popupCreateList.showAtLocation(findViewById(R.layout.layout_task_manager), Gravity.CENTER, 0, 0); 


      //popupCreateList.showAsDropDown(listsButton, 50, -30); 
      } 

的logcat -

12-29 04:20:44.041: E/AndroidRuntime(885): FATAL EXCEPTION: main 
12-29 04:20:44.041: E/AndroidRuntime(885): java.lang.NullPointerException 
12-29 04:20:44.041: E/AndroidRuntime(885): at android.widget.PopupWindow.showAtLocation(PopupWindow.java:809) 
12-29 04:20:44.041: E/AndroidRuntime(885): at ray.kaushik.simple.task.manager.TaskManagerActivity.createNewList(TaskManagerActivity.java:338) 
12-29 04:20:44.041: E/AndroidRuntime(885): at ray.kaushik.simple.task.manager.TaskManagerActivity.onMenuItemSelected(TaskManagerActivity.java:323) 
12-29 04:20:44.041: E/AndroidRuntime(885): at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:958) 
12-29 04:20:44.041: E/AndroidRuntime(885): at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735) 
12-29 04:20:44.041: E/AndroidRuntime(885): at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:149) 
12-29 04:20:44.041: E/AndroidRuntime(885): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874) 
12-29 04:20:44.041: E/AndroidRuntime(885): at com.android.internal.view.menu.IconMenuView.invokeItem(IconMenuView.java:468) 
12-29 04:20:44.041: E/AndroidRuntime(885): at com.android.internal.view.menu.IconMenuItemView.performClick(IconMenuItemView.java:126) 
12-29 04:20:44.041: E/AndroidRuntime(885): at android.view.View$PerformClick.run(View.java:16966) 
12-29 04:20:44.041: E/AndroidRuntime(885): at android.os.Handler.handleCallback(Handler.java:615) 
12-29 04:20:44.041: E/AndroidRuntime(885): at android.os.Handler.dispatchMessage(Handler.java:92) 
12-29 04:20:44.041: E/AndroidRuntime(885): at android.os.Looper.loop(Looper.java:137) 
12-29 04:20:44.041: E/AndroidRuntime(885): at android.app.ActivityThread.main(ActivityThread.java:4745) 
12-29 04:20:44.041: E/AndroidRuntime(885): at java.lang.reflect.Method.invokeNative(Native Method) 
12-29 04:20:44.041: E/AndroidRuntime(885): at java.lang.reflect.Method.invoke(Method.java:511) 
12-29 04:20:44.041: E/AndroidRuntime(885): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
12-29 04:20:44.041: E/AndroidRuntime(885): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
12-29 04:20:44.041: E/AndroidRuntime(885): at dalvik.system.NativeStart.main(Native Method) 

編輯 - 1

我正在FOR findViewById(R.layout.layout_task_manager)NULL值,其中我想顯示POPUP。

+1

檢查showAtLocation()定義。那裏一定有什麼問題。 – Kanth

+0

popupCreateListView可以爲null? – Talha

回答

1

您正在使用

findViewById(R.layout.layout_task_manager) 

這心不是一個ID,但佈局。在xml中分配一個id(使用android:id)並在這裏使用它。

0

R.layout.XYZ我們正在使用充氣。這不是此佈局中任何元素的ID。

+0

hey robert,我爲findViewByiD獲得null值(R.layout.layout_task_manager) – RayKaushik

+0

EDITED QUESTION – RayKaushik