Xamarin.Android 텍스트 편집
이 섹션에서는 EditText 위젯을 사용하여 사용자 입력을 위한 텍스트 필드를 만듭니다. 필드에 텍스트를 입력하면 Enter 키에 알림 메시지의 텍스트가 표시됩니다.
Resources/layout/activity_main.axml을 열고 EditText 요소를 포함하는 레이아웃에 추가합니다. 다음 예제 activity_main.axml에는 EditText
다음 예제에 추가된 항목이 있습니다.LinearLayout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/edittext"
android:layout_width="match_parent"
android:imeOptions="actionGo"
android:inputType="text"
android:layout_height="wrap_content" />
</LinearLayout>
이 코드 예제에서 특성 android:imeOptions
은 EditText
.로 설정됩니다actionGo
. 이 설정은 Enter 키를 탭하면 입력 처리기가 트리거되도록 기본 완료 작업을 Go 작업으로 KeyPress
변경합니다.
(일반적으로 actionGo
Enter 키는 사용자를 입력된 URL의 대상으로 이동하도록 사용됩니다.)
사용자 텍스트 입력을 처리하려면 MainActivity.cs OnCreate 메서드의 끝에 다음 코드를 추가합니다.
EditText edittext = FindViewById<EditText>(Resource.Id.edittext);
edittext.KeyPress += (object sender, View.KeyEventArgs e) => {
e.Handled = false;
if (e.Event.Action == KeyEventActions.Down && e.KeyCode == Keycode.Enter)
{
Toast.MakeText(this, edittext.Text, ToastLength.Short).Show();
e.Handled = true;
}
};
또한 아직 없는 경우 다음 using
문을 MainActivity.cs 맨 위에 추가합니다.
using Android.Views;
이 코드 예제에서는 레이아웃에서 EditText 요소를 부풀리고 위젯에 포커스가 있는 동안 키를 누를 때 수행할 작업을 정의하는 KeyPress 처리기를 추가합니다. 이 경우 메서드는 Enter 키를 수신 대기(탭한 경우)한 다음 입력된 텍스트가 포함된 알림 메시지를 팝업하도록 정의됩니다. Handled 속성은 항상 true
이벤트가 처리된 경우여야 합니다. 이는 이벤트가 버블업되지 않도록 하는 데 필요합니다(텍스트 필드에 캐리지 리턴이 발생).
애플리케이션을 실행하고 텍스트 필드에 텍스트를 입력합니다. Enter 키를 누르면 오른쪽에 표시된 것처럼 알림이 표시됩니다.
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하며 Creative Commons 2.5 특성 라이선스 에 설명된 조건에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다. 이 자습서는 Android Form Stuff 자습서 를 기반으로 합니다.