2011-08-04 42 views
1

我有一個提醒對話框,用戶通過確定和取消按鈕輸入文本。它看起來很好,當我在平板電腦上測試,但我的手機上的按鈕取消文本被拆成兩行: 能 CEL在AlertDialog中停止按鈕的多行文本

有貌似有足夠的空間,我的手機上,但文本被打破向上。我知道如何解決這個問題,但是當我嘗試使用alert.getButton來獲取按鈕時,警報停止顯示在一起。這裏是我試過的代碼:

這裏是我的代碼:

final AlertDialog alert = new AlertDialog.Builder(getActivity()).create(); 
     final EditText input = new EditText(getActivity()); 
     input.setText(existingName); 
     alert.setView(input);   
     alert.setButton("Ok", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int whichButton) { 

       //do stuff here 
      } 
     }); 

     alert.setButton2("Cancel", 
       new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int whichButton) { 
         dialog.cancel(); 
        } 
       }); 
     alert.getButton(1).setMaxLines(1); 
     alert.show(); 
+0

檢查它是否是null進行:如果(alert.getButton(1)== NULL)Log.v( 「NNN」, 「NNNN」 ); –

+0

感謝您的幫助。原來它是空的,所以現在我必須弄清楚如何正確調用函數。 – don

+0

檢查我的答案(:對於遲到的答案抱歉 –

回答

1

確定變更

alert.getButton(1).setMaxLines(1); 

alert.getButton(DialogInterface.BUTTON2).setMaxLines(1); 
+0

我得到了同樣的問題:但是這根本不起作用。無論我給這個方法輸入什麼ID,我都會得到空。 – Zordid

0

AlertDialog.getButton(Integer)的有效參數是

DialogInterface.BUTTON1 
DialogInterface.BUTTON2 
DialogInterface.BUTTON3 
DialogInterface.BUTTON_POSITIVE 
DialogInterface.BUTTON_NEUTRAL 
DialogInterface.BUTTON_NEGATIVE 

第3貶值,因此我們建議您將使用此您的按鈕方法:

public void setButton(int whichButton, 
         CharSequence text, 
         DialogInterface.OnClickListener listener) 

其中whichButton是其中之一底部3個選項。