2013-02-02 22 views
0

我想顯示在機器人 一個popupWindow我做了以下:PopUpWindow的Android異常

public class MyPopUp extends PopupWindow { 

    private View view; 
    private Context context; 

    public MyPopUp (Context context) 
     { 
     super(context); 
     this.context = context; 
    View myView = new myView(context); 
    this.setContentView(myView); 
     setHeight(WindowManager.LayoutParams.WRAP_CONTENT); 
     setWidth(WindowManager.LayoutParams.WRAP_CONTENT); 
    } 

    public void showPopUp(){ 

     view = new View(context); 
     this.showAtLocation(view, Gravity.CENTER, 0, 0); 

    } 
    } 

有在這條線

this.showAtLocation(查看異常,Gravity.CENTER,0 ,0);

02-02 09:13:31.456: ERROR/AndroidRuntime(458): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.popup.mypopup/com.popup.mypopup.Android_2_Activity}: java.lang.NullPointerException 

時showPopUp被稱爲

回答

0

試試這個

public MyPopUp (Context context){ 

    final Dialog dialog = new Dialog(context); 
      dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
      dialog.setContentView(R.layout.custome_dialog); 

      Button dialogCancel = (Button) dialog 
        .findViewById(R.id.btnCancelPassword); 
      Button dialogSubmit = (Button) dialog 
        .findViewById(R.id.btnSubmitPassword); 
      dialogSubmit.setOnClickListener(new OnClickListener() { 
       @Override 
       public void onClick(View v) { 

        dialog.dismiss(); 
       } 
      }); 
      dialogCancel.setOnClickListener(new OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        dialog.dismiss(); 
       } 
      }); 
      dialog.show(); 

} 
+0

但我想外面是可觸摸的,這不能用對話來完成! – Developer