0

我有一個打開的onClick事件,AlertDialog是用一個LayoutInflater充氣的。我可以在充氣的AlertDialog中單擊一個按鈕,然後解決方程式。問題是這個OnClick沒有反應,因爲沒有任何反應。有誰知道爲什麼?OnClick,LayoutInflater和AlertDialog的問題

編輯現在屏幕變暗,我可以告訴我不再處於同一活動狀態,因爲屏幕沒有響應,但視圖仍然是原始頁面。推回按鈕使屏幕再次亮起並響應。

lay1.setOnLongClickListener(new OnLongClickListener() { 
     public boolean onLongClick(View v)   
     {      

      LayoutInflater myLayout = LayoutInflater.from(context); 
      final View dialogView = myLayout.inflate(R.layout.alerthelp, null); 
      AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
      context); 


      final AlertDialog alertDialog = alertDialogBuilder.create(); 
      alertDialogBuilder.setView(dialogView); 
      Button button1 = (Button) dialogView.findViewById(R.id.button1); 
      button1.setOnClickListener(new OnClickListener(){ 


      public void onClick(View v) { 
       TextView stax1=(TextView)alertDialog.findViewById(R.id.salestax); 
       String sax1 = stax1.getText().toString(); 
       double sx1 = Double.parseDouble(sax1); 

       TextView textviewlay1 =(TextView)alertDialog.findViewById(R.id.m1ab); 
       String stringl1 = textviewlay1.getText().toString(); 
       Double doubl1 = Double.parseDouble(stringl1); 

       TextView textviewp1 = (TextView)alertDialog.findViewById(R.id.inputPrice); 
       String stringp1 = textviewp1.getText().toString(); 
       Double intp1 = Double.parseDouble(stringp1); 

       double resultl1 = intp1 - (doubl1*sx1); 
       int precision21t = 100; //keep 4 digits 
       resultl1= Math.floor(resultl1 * precision21t +.5)/precision21t; 
       textViewtotalproduct.setText(String.valueOf(resultl1));  
}); 

alertDialog.show(); 
     return true;  




     }}); 
+0

R.layout.alerthelp絕對存在於佈局文件夾中。我可以打開它並查看所有按鈕,並且每個拼寫都正確,並且都不是大寫。 – SmulianJulian

回答

2

您正在返回false,這意味着長按不會發生。所以請返回true以便您的長時間點擊工作。

您還需要致電alertDialog.show();打開它,回答第二個問題。

+0

現在我從onclick得到一個振動,但就是這樣。感謝那無論如何 – SmulianJulian

+0

@SmulianJulian接受他的回答夥計。 – TheFlash

+0

我得到一個振動....但OnClick仍然不打開警報對話框。 – SmulianJulian