ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文

  メンテナンス 前画面に戻る

対象スレッド 件名: Main2Activity
名前: lightbox
処理選択
パスワード

件名 Main2Activity
名前 lightbox
コメント
@SHOW
[[BUTTON3]] では、setResult で数値以外に intent も戻しています。ですから、MainActivity で受け取れますが、他のボタンでは intent を返していないので、MainActivity の onActivityResult では intent が null になるので注意する必要があります。
@END

@DIV
package lightbox.may.toolstest;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.TextView;

public class Main2Activity extends AppCompatActivity {

	private int requestCode;
	private TextView tv;

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

		Intent intent = getIntent();
		String text = intent.getStringExtra("text");
		tv = (TextView) Main2Activity.this.findViewById(R.id.textView);
		tv.setText( text );

		requestCode = intent.getIntExtra("requestCode", 1);
		Log.i("lightbox", String.format("requestCode : %d", requestCode)  );

		// ボタンのイベントを登録
		Main2Activity.this.findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {

				setResult(100);

				// Main2Activity.this.finish();
				finish();

			}

		});

		// ボタンのイベントを登録
		Main2Activity.this.findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {

				setResult(200);

				// Main2Activity.this.finish();
				finish();

			}

		});

		// ボタンのイベントを登録
		Main2Activity.this.findViewById(R.id.button3).setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {

				Intent intent = new Intent();
				intent.putExtra("returnData", "文字列を返す");
				setResult(300, intent);

				// Main2Activity.this.finish();
				finish();

			}

		});

	}

}
@END