根据EditText组件监听输入变化:
首先需要创建一个Edit组件
<EditText
android:id="@+id/editText_name" //组件的ID
android:layout_width="match_parent" //宽度与父组件一致
android:layout_height="wrap_content" //高度包围着组件属性
android:layout_marginTop="37dp" //与上边界的距离
android:hint="请输入姓名..." //提示用文本,点击之后会清空
android:drawableLeft="@drawable/ic_launcher_background" //组件显示的图片
android:inputType="text" //编辑框输入的类型
/>
代码效果:
代码在content_main.xml文件里编辑,如果只有一个activity_main.xml文件的话,就在activity_main.xml文件里编辑,组件图片放在drawable文件夹内。
编辑完成之后,点击java文件夹下的com.example.test1文件夹(test1是项目名称)中的MainActivity.java文件
在里面输入代码
public class MainActivity extends AppCompatActivity {
private EditText editText_name;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//根据ID查找组件
editText_name=findViewById(R.id.editText_name);
//监听输入变化
editText_name.addTextChangedListener(new TextWatcher() {
@Override
//文本输入前的状态
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
System.out.println("beforeTextChanged--"+s);
}
@Override
//文本改变时的状态
public void onTextChanged(CharSequence s, int start, int before, int count) {
System.out.println("onTextChanged--"+s);
}
@Override
//文本改变之后的状态
public void afterTextChanged(Editable s) {
System.out.println("afterTextChanged--"+s);
}
});
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = 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();
}
});
//监听回车确认键
editText_name.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
//Toast.LENGTH_LONG表示显示时间长 Toast.LENGTH_SHORT表示显示时间短
Toast.makeText(MainActivity.this,v.getText().toString(), Toast.LENGTH_LONG).show();
return true;
}
});
}
}
完成之后的界面
(忽略上面那个地址)
打开android studio,找到logcat
点击Edit Filter Configuration进行信息过滤,如下
去实验输入,下面显示的文字就是按下回车确认键后出现的提示信息,logcal则是对输入进行监听。
到这里就完成了用EditText组件监听输入变化和回车确认了。