2011-05-04 29 views
1

好的, 我有一個應用程序爲輸入值創建一個AlertDialog。所有的值都是數字類型,我使用下面的代碼來獲取輸入。將EditText設置爲代碼中的數字輸入項?

public class DialogWithInputBox extends Activity 
{ 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

    final AlertDialog.Builder alert = new AlertDialog.Builder(this); 
    final EditText input = new EditText(this); 
    input.setInputType(InputType.TYPE_CLASS_NUMBER); 
    alert.setView(input); 
    alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() 
    { 
     public void onClick(DialogInterface dialog, int whichButton) 
     { 
      String value = input.getText().toString().trim(); 
      Toast.makeText(getApplicationContext(), value, 
        Toast.LENGTH_SHORT).show(); 
     } 
    }); 

    alert.setNegativeButton("Cancel", 
      new DialogInterface.OnClickListener() 
      { 
       public void onClick(DialogInterface dialog, int whichButton) 
       { 
        dialog.cancel(); 
       } 
      } 
    ); 
    alert.show(); 

} 
} 

我的問題是,這不適用於Android 1.6,但我希望我的應用程序在1.6上工作。是否有另一種方法可以在1.6版本的代碼中執行此操作?我沒有AlertDialog的佈局,所以我不能在那裏設置它。

+0

我看到的所有方法似乎都是在API 4之前定義的......這意味着1.6版本應該可以。您是否在項目首選項中設置了正確的API級別,以確保此代碼中存在問題? – 2011-05-04 17:55:12

+0

另外,你是什麼意思的「不工作」?你在哪裏/哪些錯誤? – 2011-05-04 17:56:23

+0

鍵盤即將啓動,但它處於文本模式而不是數字模式。 – smccloud 2011-05-04 20:12:00

回答

2

我聽說過一些離奇的事情就號碼InputTypes發生。嘗試看看電話類型是否會起作用:

input.setInputType(InputType.TYPE_CLASS_PHONE); 
相關問題