📅  最后修改于: 2023-12-03 15:37:34.165000             🧑  作者: Mango
在Android应用程序中,EditText
是一个用于接受文本输入的控件。本文将介绍如何在Android中使用EditText
。
EditText
控件要向Android应用程序中添加EditText
控件,只需在相应的XML布局文件中添加以下代码:
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter text here" />
此代码段将在布局中添加一个新的EditText
控件。android:id
属性用于指定该控件的标识符,以便在运行时引用它。android:layout_width
和android:layout_height
属性用于指定该控件的宽度和高度。android:hint
属性是一个可选属性,可在控件中显示默认的提示文本。
EditText
控件要从Activity
中引用EditText
控件,在OnCreate
方法中添加以下代码:
EditText editText = (EditText) findViewById(R.id.editText);
此代码段将为变量editText
分配新的EditText
对象,并使用findViewById
方法引用XML布局中定义的控件ID。
要获取EditText
控件中的文本,请使用以下方法:
String text = editText.getText().toString();
此代码段将获取EditText
控件的文本,并将其存储在text
变量中。要设置EditText
控件的文本,请使用以下方法:
editText.setText("New text");
此代码段将EditText
控件的文本设置为“New text”。
要在用户更改EditText
控件中的文本时执行某些操作,请使用以下代码:
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
// Do something before the text is changed
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
// Do something while the text is being changed
}
@Override
public void afterTextChanged(Editable editable) {
// Do something after the text has been changed
}
});
此代码段将为EditText
控件添加一个TextWatcher
对象,该对象将监听文本更改并在相应事件上执行特定的操作。
EditText
控件添加焦点和软键盘要使EditText
控件自动获得焦点并在打开应用程序时打开软键盘,请在布局文件中将其添加到父Layout
控件中:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="true"
android:focusableInTouchMode="true">
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter text here" />
</RelativeLayout>
此代码段将使整个布局可获取焦点,并在打开应用程序时自动为EditText
控件打开软键盘。
至此,已介绍了在Android应用程序中使用EditText
控件的基本用法。如需进一步了解,请参阅官方文档。