我有一个EditText供用户输入电话号码,以后将其保存到sharedpreferences中。但是,EditText似乎会删除第一个数字(如果为0),我不希望这样做。如何允许第一个数字为0?我尝试使用android:digits =“ 0123456789”,android:inputType =“ phone”和android:inputType =“ number”。XML:
<EditText
android:id="@+id/etAnnonsNr"
android:layout_width="fill_parent"
android:layout_height="25sp"
android:layout_alignLeft="@+id/etAnnonsText"
android:layout_below="@+id/etAnnonsText"
android:layout_marginTop="15dp"
android:background="@drawable/boxboarder"
android:nextFocusDown="@+id/etAnnonsPris"
android:hint="Ditt telefonnummer"
android:inputType="number" />
Java:
final EditText etAnnonsNr = (EditText)findViewById(R.id.etAnnonsNr);
if (etAnnonsNr.getText().toString().matches("")){
editor.putInt("AnnonsNr", 0);
}else{
editor.putInt("AnnonsNr", Integer.parseInt(etAnnonsNr.getText().toString()));
}
editor.commit();
尽管我没有完全解决问题,但是如果您在任何地方都使用Integer,请使用Strings
代替Integer
。也可以使用editor.putString
代替editor.putInt
。当您要使用保存SharedPreference
为整数的值时,将值从String转换回Integer。可能有助于保留0
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句