Android -EditText-
エディットテキスト
エディットテキストを生成するには、EditTextクラスを利用します。
EditTextクラスのコンストラクタ
- EditText(Context context)
- EditText(Context context, AttributeSet attrs)
- EditText(Context context, AttributeSet attrs, int defStyle)
EditTextクラスの主なメソッド
void | setText(CharSequence text, TextView.BufferType type) | 表示するテキスト(text)を設定します。 CharSequenceインタフェースは、文字列の共通のメソッドを持つインタフェース です。StringクラスやStringBufferクラスがその実装クラスとなります。 typeには、種別を指定します。
|
||||||
Editable | getText() | テキストを取得します。 Editableインタフェースは、編集可能な文字列のインタフェースです。 toString呼ぶことで、通常の文字列に変換できます。 |
サンプル1
P0404EditTextEx1.java
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Toast;
public class P0404EditTextEx1 extends Activity {
private final static int WC = LinearLayout.LayoutParams.WRAP_CONTENT;
private final static int FP = LinearLayout.LayoutParams.FILL_PARENT;
EditText editText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// レイアウト
LinearLayout layout = new LinearLayout(this);
layout.setBackgroundColor(Color.WHITE);
layout.setOrientation(LinearLayout.VERTICAL);
setContentView(layout);
// EditTextオブジェクト生成
editText = new EditText(this);
// テキストをセット
editText.setText("こんにちは", EditText.BufferType.NORMAL);
// editTextのレイアウトサイズ指定
editText.setLayoutParams(new LinearLayout.LayoutParams(FP, WC));
// レイアウトeditTextを追加
layout.addView(editText);
// ボタンオブジェクトの生成
Button btn = new Button(this);
btn.setText("結果表示");
btn.setLayoutParams(new LinearLayout.LayoutParams(WC, WC));
// リスナー登録
btn.setOnClickListener(new OnClickListener() {
// ボタン押下時の処理
@Override
public void onClick(View v) {
// EditText(テキスト)を取得
String str = editText.getText().toString();
// トーストで結果表示
Toast.makeText(P0404EditTextEx1.this, str, Toast.LENGTH_SHORT)
.show();
}
});
layout.addView(btn);
}
}
サンプル2(リソースをxml記述)
res/values/string.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">P0404EditTextEx2</string>
<string name="hello">こんにちは</string>
<string name="btn">結果表示</string>
</resources>
res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#ffffff">
<EditText
android:id="@+id/edit_taxt_id"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:bufferType="normal"
android:inputType="text"/>
<Button
android:id="@+id/btn_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn"/>
</LinearLayout>
P0404EditTextEx2.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 P0404EditTextEx2 extends Activity {
private EditText editText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// EditTextオブジェクトの取得
editText = (EditText) findViewById(R.id.edit_taxt_id);
// Buttonオブジェクトの取得
Button btn = (Button) findViewById(R.id.btn_id);
btn.setOnClickListener(new OnClickListener() {
// ボタン押下時の処理
@Override
public void onClick(View v) {
// EditText(テキスト)を取得
String str = editText.getText().toString();
// トーストで結果表示
Toast.makeText(P0404EditTextEx2.this, str, Toast.LENGTH_SHORT)
.show();
}
});
}
}