2012-10-19 68 views
0

即使我將輸入類型設置爲numberdecimal或數字,我也必須強制輸入數字以獲取數字。那麼在EditText的意見中有什麼用input type在EditText中使用輸入類型

例如

int a = Integer.valueOf(editText.getText().toString()); 

一兩件事,爲什麼我需要使用toString()與幾乎所有的意見,得到的文本?在Java中,我們可以只是getText任何控件。

回答

0

您必須將Text解析爲Integer,因爲它不返回int。它返回可編輯格式的輸入類型。因此,如果您將輸入類型設置爲數字,您將獲得僅包含數字的Editable。 而你必須添加toString(),因爲EditText不是返回Editables而是Strings。

+0

我應該使用Integer.ParseInt還是ValueOF進行計算 – Tanvir

+0

Integer.parseInt已經足夠了:) – Agata

+0

long weight,weight = Long.valueOf(etWeight.getText()。toString());給NumberFormatException ...爲什麼?據我所知,Integer.parseInt返回Integer對象,但我想要一個基本類型int。 – Tanvir

0

InputType用於各種目的。例如,在密碼字段中,它可以隱藏字符。

這裏的每一個屬性的正式說明它可以採取: https://developer.android.com/reference/android/widget/TextView.html#attr_android:inputType

關於你問題的第二部分,EditText.getText()返回Editable

定義一個通用接口的所有文字其內容和標記可以改變(而不是像字符串這樣的不可變文本)。

所以你需要使用toString()來獲取一個字符串。