我真的不知道如何处理用户输入的手机号码。我一直收到错误消息“无法应用于编辑文本”,还有其他方法可以做到这一点吗?
XML
<EditText
android:layout_width="200dp"
android:layout_height="40dp"
android:inputType="phone"
android:ems="10"
android:id="@+id/mobilnummer"
android:hint="Mobilnummer"
android:imeOptions="actionSend"
android:textColor="#000000"
android:background="#ffffffff"
android:phoneNumber="true"
android:layout_weight="0.80"
android:layout_marginLeft="20dp"
android:layout_gravity="center_horizontal" />
Java
EditText mobilnummer;
mobilnummer = (EditText) findViewById(R.id.mobilnummer);
mobilnummer.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
boolean handled = false;
if (actionId == EditorInfo.IME_ACTION_SEND) {
if (mobilnummer >= 8) FragmentedUser.SaveMobile(mobilnummer);
handled = true;
}
return handled;
}
});
解析代码/fragment 类
public static void SaveMobile(String mobilnummer) {
ParseObject fragmentedUser = new ParseObject("FragmentedUser");
fragmentedUser.put("mobile", mobilnummer);
fragmentedUser.saveEventually();
Log.i("Save Mobile", "SaveMobile");
}
Parse 中唯一显示的是:android.widget.EditText{236a90fe VFED..CL .F...... 113,0-821,120 #7f0c0059 app:id/mobilnummer}
最佳答案
你需要做一些改变。请看一下。
EditText mobilnummer;
mobilnummer = (EditText) findViewById(R.id.mobilnummer);
mobilnummer.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
boolean handled = false;
if (actionId == EditorInfo.IME_ACTION_SEND) {
if (mobilnummer.getText().toString().length() >= 8)
FragmentedUser.SaveMobile(mobilnummer.getText().toString());
handled = true;
}
return handled;
}
});
关于android - 保存用户手机号码 - 不能应用于编辑文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30751402/