ここでは、エディットテキスト (EditText) を表示し、ボタンクリック時に入力された文字を取得するサンプルを紹介します。
エディットテキスト (EditText) を表示し、ボタンクリック時に入力された文字を取得する手順は以下のようになります。
- レイアウトリソースファイルにエディットテキスト (EditText) を定義する
- ボタンにクリックリスナを設定し、入力された文字を取得する
■ リソースファイル
layout/main.xml
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <EditText android:id="@+id/etxtName" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/hint" /> <Button android:id="@+id/btnOk" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/txtOk" /> </LinearLayout>
value/string.xml
<resources> <string name="hint">名前を入力してください</string> <string name="txtOk">OK</string> </resources>
■ ソース (java ファイル)
EditTextSample.java
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class EditTextActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // クリックリスナを設定 Button btnOk = (Button)findViewById(R.id.btnOk); btnOk.setOnClickListener(new OnClickListener() { public void onClick(View v) { // EditText に入力された文字を取得 EditText etxtName = (EditText)findViewById(R.id.etxtName); String name = etxtName.getText().toString(); // 通知ダイアログの表示 Toast.makeText(EditTextActivity.this, name, Toast.LENGTH_SHORT).show(); } ); } }
1. レイアウトリソースファイルにエディットテキスト (EditText) を定義する
エディットテキストを表示するには、EditText タグを定義します。<EditText android:id="@+id/etxtName" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/hint" />hint 属性には、文字が未入力のときに表示するテキストを設定します。
2. ボタンにクリックリスナを設定する
ボタンクリック処理を記述するために、クリックリスナを設定します。// クリックリスナを設定 Button btnOk = (Button)findViewById(R.id.btnOk); btnOk.setOnClickListener(new OnClickListener() { public void onClick(View v) { // EditText に入力された文字を取得 EditText etxtName = (EditText)findViewById(R.id.etxtName); String name = etxtName.getText().toString(); // 通知ダイアログの表示 Toast.makeText(EditTextActivity.this, name, Toast.LENGTH_SHORT).show(); } );EditText に入力された文字を取得するには、
getText メソッドを使用します。この戻り値は Editable クラスのオブジェクトなので、文字列として取得するには、toString メソッドを使用して String 型に変換します。
0 件のコメント:
コメントを投稿