Tips

EditTextとButtonとTextViewを用いたAndroidサンプルアプリ

方法②:匿名クラスを用いない方法

package com.example.edittextsample;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {

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

		Button button1 = (Button) findViewById(R.id.button1);
		button1.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				TextView textView = (TextView) findViewById(R.id.textView1);
				EditText editText = (EditText) findViewById(R.id.editText1);

				// 入力された文字を取得
				String str = editText.getText().toString();

				// 取得した文字をTextViewにセット!
				textView.setText(str);
			}
		});
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.activity_main, menu);
		return true;
	}
}

方法③:匿名クラスを用いずに、クリック処理を別クラスで定義する方法

package com.example.edittextsample;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {

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

		Et et = new Et();
		Button button1 = (Button) findViewById(R.id.button1);
		button1.setOnClickListener(et);
	}

	class Et extends MainActivity3 implements OnClickListener {

		@Override
		public void onClick(View v) {
			TextView textView = (TextView) findViewById(R.id.textView1);
			EditText editText = (EditText) findViewById(R.id.editText1);

			// 入力された文字を取得
			String str = editText.getText().toString();

			// 取得した文字をTextViewにセット!
			textView.setText(str);
		}
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.activity_main, menu);
		return true;
	}
}

activity_main.xml

今回の画面の定義(activity_main.xml)は下記になります。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_toLeftOf="@+id/button1"
        android:ems="10" >

        <requestFocus />
    </EditText>

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:text="投稿" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/editText1"
        android:textAppearance="?android:attr/textAppearanceMedium" />

</RelativeLayout>

これでOKです。
EditTextの使用方法および、EditTextで入力された値をTextViewにセットする方法がなんとなく掴めたかと思います。
それでは本日はこれにて終了です。ありがとうございました。

Androidアプリ開発の必須知識!JAVAプログラミングを学べる連載リンク

はじめてのJAVA 連載

Recent News

Recent Tips

Tag Search