libro
www.tuyano.com
Google androidプログラミング入門

IntentとActivity (4/6)

作成:2010-05-17 16:30
更新:2011-01-16 14:24

■SampleApp.javaの修正

続いて、SampleApp.javaを修正します。今回は、テキストを入力するEditTextを用意していますので、ここからテキストを取り出してIntentに設定し、起動する処理を用意します。

MyClickAdapterクラスのonClickメソッドで、ボタンクリック時の処理をしています。edit.getTextで入力されたテキストを取り出した後、Intentを作成します。
Intent intent = new Intent(getApplicationContext(),
        jp.tuyano.SampleActivity.class);
第1引数は、getApplicationContextメソッドを使ってアプリケーションのContextを取得し指定します。第2引数は、jp.tuyano.SampleActivity.classを指定します。この「SampleActivity」というのが、起動するActivityクラス(この後に作成します)です。このように「クラスの指定.class」と指定して、起動するクラスのClassインスタンスを引数に指定します。
intent.putExtra("data", str.toString());
続いて、先ほどEditTextから取り出したテキストをIntentに設定します。「putExtra」メソッドを使うことで、Intentにデータを設定しておくことができます。これは第1引数に値の名前を、第2引数に受け渡すデータの値をそれぞれ指定して呼び出します。ここでは、"data"という名前でテキストを設定したわけです。
startActivity(intent);
最後に、startActivityでActivityを起動すれば作業は完了です。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

package jp.tuyano;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;

public class SampleApp extends Activity {
	private EditText edit;
	
	@Override
	public void onCreate(Bundle icicle) {
		super.onCreate(icicle);
		setContentView(R.layout.main);
		edit = (EditText)this.findViewById(R.id.edit);
		Button button =
			 (Button)this.findViewById(R.id.button);
		button.setOnClickListener(new MyClickAdapter());
	}

	class MyClickAdapter implements OnClickListener {
		@Override
		public void onClick(View v) {
			Editable str = edit.getText();
			Intent intent = new Intent(
				getApplicationContext(),
				jp.tuyano.SampleActivity.class);
			intent.putExtra("data", str.toString());
			startActivity(intent);
		}
	}

}
※関連コンテンツ

「Google androidプログラミング入門」に戻る