読者です 読者をやめる 読者になる 読者になる

liguofeng29’s blog

個人勉強用ブログだっす。

AndroidのActivity - Activityからのデータ受け取り (Bundle)

MainActivity.java
 
package com.example.liguofeng.responsefromactivity;

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

public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Button button = (Button) findViewById(R.id.show);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
// リクエストコード 0でSecondActivity起動
startActivityForResult(intent, 0);
}
});
}

// Activityの戻り値取得
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
// リクエストコード0 && レスポンスコード0
if (requestCode == 0 && resultCode == 0) {
// データ取得
Bundle data = intent.getExtras();
String input = data.getString("input");
// 表示
((TextView)findViewById(R.id.result)).setText(input);
}
}
}

SecondActivity.java
 
package com.example.liguofeng.responsefromactivity;

import android.app.Activity;
import android.app.ListActivity;
import android.content.Intent;
import android.database.DataSetObserver;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Adapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListAdapter;

public class SecondActivity extends Activity {

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

Button confirm = (Button) findViewById(R.id.confirm);
confirm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String input = ((EditText) findViewById(R.id.input)).getText().toString();
Intent intent = new Intent();
intent.putExtra("input", input);
// resultCodeを0に設定
SecondActivity.this.setResult(0, intent);
// 終了
finish();
}
});
}

}