ホーム >  Android > EditText

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には、種別を指定します。
TextView.BufferType EDITABLE
TextView.BufferType NORMAL
TextView.BufferType SPANNABLE
通常は、NORMALを指定します。
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();
      }
    });
  }
}