Android ユーザーインターフェース応用 ウィジェット TextView,EditText 【Android Tips】

この記事は2013年4月10日に書かれたものです。内容が古い可能性がありますのでご注意ください。


Androidの導入

1
ユーザーインターフェース応用
ウィジェット TextViewとEditText
この章ではAndroidのウィジェットであるTextViewとEditTextについて解説していきます。
TextView
TextViewは文字列などの表示を行う為のビューです。
 java.lang.Object
 →android.view.View
 →android.widget.TextView

クラスの定義は上記のようになっており、TextViewクラスはViewクラスのサブクラスとなります。TextViewのコンストラクタは3つ存在していますが、ここではもっとも使用頻度が高い以下のコンストラクタについて御紹介します。

 public TextView(Context context)

引数にはContextクラスのオブジェクトを指定します。(Contextについては後述)
Activityファイル内では、記述しているActivity自体を示すthisを指定します。これは、画面を作成するActivityクラスはContextクラスのサブクラスなので、Activityクラスを継承して作成したクラスは、Contextクラスのサブクラスとなるからです。次の例はjavaファイル内にてTextViewを生成するコードです。

 TextView textView = new TextView(this);
 setContentView(textView);

以下のコードはxmlファイル内にてTextViewを作成し、javaファイル内にて文字や文字列をセットするというものです。

レイアウトxmlファイル

<TextView
 android:id="@+id/textView1"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="TextView" />

復習ですが、1行目のandroid:idにて、そのウィジェットのidを定義しています。ここではtextView1がidとなります。そしてandroid:layout_widthとandroid:layout_heightにて、ウィジェットの幅と高さを決定しています。最後にandroid:text=”TextView”にて、初期状態でウィジェットに表示させる文字列を定義しています。

javaファイル

package com.example.edittext;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		TextView textView = (TextView) findViewById(R.id.textView1);
		textView.setText("HelloWorld");
	}
}

ソースコードの14行目でインスタンス化し、15行目で表示させる文字列を指定しています。(ここではHelloWorldとしています。)尚、インスタンス化の段階でxmlファイル内のtextView1と紐づけています。

 

EditText

EditTextはユーザーが入力するテキストフィールドです。
 java.lang.Object
 →android.view.View
 →android.widget.TextView
 →android.widget.EditText

クラスの定義は上記のようになっており、EditTextはTextViewクラスのサブクラスとなります。EditTextのコンストラクタは5つ存在していますが、ここではもっとも使用頻度がもっとも高い以下のコンストラクタについて御紹介します。

 public EditText(Context context)

引数にはContextクラスのオブジェクトを指定します。
次の例はjavaファイル内にてEditTextを生成するコードです。

 EditText editText = new EditText(this);
setContentView(editText);

以下のコードはEditTextをxmlファイル内にて定義し、EditTextに文字や文字列を入力しButtonを押下すると、Toast内に入力した内容が表示されるというものです。

ページ:

1

2
  • このエントリーをはてなブックマークに追加