2012-03-23 202 views
0

我有一个EditText视图,弹出窗口不会关闭

<EditText 
android:layout_weight="1" 
android:id="@+id/etMiktar" 
android:layout_width="0dp" 
android:layout_height="wrap_content" 
android:hint="@string/miktarHint" 
android:focusable="false"> 
</EditText> 

我实现它打开当用户触摸这个观点的EditText一个弹出窗口。这个弹出窗口有一个按钮,所以当点击弹出应该被解雇。尽管它获得了我的点击,但弹出窗口并未关闭。 这里是我的弹出实现:

private void inflatePopUpSiparis(){ 
    LayoutInflater inflater = (LayoutInflater) 
    this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    final PopupWindow pwSiparis = new PopupWindow(inflater.inflate(R.layout.siparismiktarpopup, null, false),400,550,true);   
    pwSiparis.showAtLocation(this.findViewById(R.id.llMain), Gravity.CENTER, 0, 0); 
    //pwSiparis.setFocusable(true); 
    View myPopUpSiparisView = pwSiparis.getContentView(); 

    etSiparisMiktar=(EditText)myPopUpSiparisView.findViewById(R.id.etSiparisMiktar); 
    etSiparisMiktar.setText(etUrunMiktar.getText().toString()); 

    btnPopUpSiparisTamam=(Button)myPopUpSiparisView.findViewById(R.id.btnPopUpSiparis); 
    btnPopUpSiparisTamam.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      pwSiparis.dismiss(); 
      Log.d("****",etSiparisMiktar.getText().toString().toString()); 
      etUrunMiktar.setText(etSiparisMiktar.getText().toString()); 
     } 
    }); 


} 

}

可能是什么问题呢?

+0

'//这里我得到FC'是那个评论还是相关的?如果是这样,请发布堆栈跟踪 – edthethird 2012-03-23 02:24:30

+0

实际上并不完全不相关。不是我改变了代码,我在方法中声明了弹出窗口:final PopupWindow pwSiparis。它开始奇怪地工作,现在我需要按下按钮两次。它获得了两次点击,但在第二次解雇? – tan 2012-03-23 02:32:04

回答

0

问题是;我正在使用onTouchListener作为EditText。由于dmon,在answer中针对类似问题所述,onTouchListener响应着陆和提升。所以当我将其更改为onClickListener时,问题就解决了。

0

我使用下面的代码来启动一个类似于PopUp的自定义对话框。如果你需要,我也可以分享布局文件。 dialog.cancel();也类似于解雇。

private void showpopup(int popuptype, String message) { 

    //set up dialog 
    final Dialog dialog = new Dialog(this); 
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    dialog.setContentView(R.layout.dialog); 

    //dialog.setTitle("This is my custom dialog box"); 
    dialog.setCancelable(true); 
    //there are a lot of settings, for dialog, check them all out! 

    //set up text 
    TextView text = (TextView) dialog.findViewById(R.id.textViewSubject); 
    text.setText(message);  

    //set up button 
    Button button = (Button) dialog.findViewById(R.id.buttonOK); 
    button.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      Log.e("Alert", "Nothing"); 
      dialog.dismiss(); 
     } 
    }); 
    //now that the dialog is set up, it's time to show it  
    dialog.show(); 
} 
+0

谢谢,但我仍然不明白为什么我面对这个问题,因为我还有另一个完美的弹出窗口,但是这个我需要按两次按钮才能解决问题。 – tan 2012-03-23 11:49:31