EditText 报出 “This text field does not specify an inputType or a hint”

本文深入探讨了Android中数字和电话输入类型的实现方式,通过使用number|phone输入类型属性,指导开发者如何创建适用于手机号码输入的用户界面,确保输入的准确性与用户体验。
android:inputType="number|phone",表示指定为数字或电话

inputtype类型如下:
//文本类型,多为大写、小写和数字符号。
android:inputType="none"
android:inputType="text"
android:inputType="textCapCharacters"
android:inputType="textCapWords"
android:inputType="textCapSentences"
android:inputType="textAutoCorrect"
android:inputType="textAutoComplete"
android:inputType="textMultiLine"
android:inputType="textImeMultiLine"
android:inputType="textNoSuggestions"
android:inputType="textUri"
android:inputType="textEmailAddress"
android:inputType="textEmailSubject"
android:inputType="textShortMessage"
android:inputType="textLongMessage"
android:inputType="textPersonName"
android:inputType="textPostalAddress"
android:inputType="textPassword"
android:inputType="textVisiblePassword"
android:inputType="textWebEditText"
android:inputType="textFilter"
android:inputType="textPhonetic"
//数值类型
android:inputType="number"
android:inputType="numberSigned"
android:inputType="numberDecimal"
android:inputType="phone"//拨号键盘
android:inputType="datetime"
android:inputType="date"//日期键盘
android:inputType="time"//时间键盘
package com.example.msensor; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; import android.support.design.widget.CoordinatorLayout; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.View; import android.view.Menu; import android.view.MenuItem; import android.widget.TextView; import static android.hardware.SensorManager.SENSOR_DELAY_FASTEST; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) .setAction("Action", null).show(); } }); collectingData(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } private void collectingData(){ SensorManager sensorManager= (SensorManager) getSystemService(SENSOR_SERVICE); Sensor sensor=sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD); //获取传感器的类型分辨率和延迟 String s="名称"+sensor.getName()+ "类型"+sensor.getType()+ "分辨率"+sensor.getResolution()+ "延迟"+sensor.getMaxDelay(); showMessage(s); //设置传感器的监听 sensorManager.registerListener(new MSensorListener(), sensor,SENSOR_DELAY_FASTEST); } private class MSensorListener implements SensorEventListener{ @Override public void onSensorChanged(SensorEvent sensorEvent) { //获取传感器不断变化的值 double x= sensorEvent.values[0]; double y= sensorEvent.values[1]; double z= sensorEvent.values[2]; TextView textView= (TextView) findViewById(R.id.textView); String s = "时间"+sensorEvent.timestamp+"\nx" + x + "\ny" + y + "\nz" + z; textView.setText(s); } @Override public void onAccuracyChanged(Sensor sensor, int i) { } } private void showMessage(String message){ View view=findViewById(R.id.fab); final Snackbar snackbar=Snackbar.make(view, message, Snackbar.LENGTH_INDEFINITE); snackbar.setAction("关闭", new View.OnClickListener() { @Override public void onClick(View view) { snackbar.dismiss(); } }); snackbar.show(); } } 请根据这个代码写一个布局的activity_main.xml对应的布局代码
最新发布
07-18
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值