Androidページジャンプ(返信結果なし/含む)
4876 ワード
一.2ページのxmlファイル
factivity
三.最初のジャンプ:結果を返さないジャンプFactivityファイルの作成
シミュレータでテストし、「直接ジャンプ」をクリックして別のページに移動します.
四.2つ目のジャンプ:結果を返すジャンプFactivityファイルの作成
Sactivityファイル作成
「テキストビューの変更にジャンプ」をクリックすると、別のページにジャンプし、別のページのボタンをクリックして元のページに戻ります.テキストビューが「hello」に変更されていることがわかります.
五.コードの具体的な理解
Intent intent = new Intent(Factivity.this, Sactivity.class); startActivity(intent);
intentはstartActivityの導きと考えられ、どこ(Factivity.this)からどこ(Sactivity.class)へ
Intent intent = new Intent(Factivity.this, Sactivity.class); startActivityForResult(intent, 1);
startActivity ForResultのintentと同様に、「1」はFactivityからSactivityへの申請番号を表します.
Intent data= new Intent(); data.putExtra("data","hello"); setResult(2,data); finish();
intentはジャンプを表すのではなく,返信パラメータを持つシンボル「data」と具体的なパラメータ「hello」setResult()メソッドの2はSactivityからFactivityへの結果コードである.
if(requestCode==1&&resultCode==2){ String content = data.getStringExtra("data"); tv.setText(content);}
申請番号と結果番号を検証した後、StringがintentのgetStringExtraメソッドで戻りパラメータの番号「data」で返される具体的なパラメータを初期化します.
factivity
sactivity
二.在manifest中注册Activity,为首先启动的activity提供标注
// activity
android:name=".Sactivity"
android:label="@string/app_name" >
三.最初のジャンプ:結果を返さないジャンプFactivityファイルの作成
private Button bt1;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.factivity);
bt1 = (Button) findViewById(R.id.button1);
bt1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent(Factivity.this, Sactivity.class);
startActivity(intent);
}
シミュレータでテストし、「直接ジャンプ」をクリックして別のページに移動します.
四.2つ目のジャンプ:結果を返すジャンプFactivityファイルの作成
private Button bt2;
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.factivity);
bt2 = (Button) findViewById(R.id.button2);
tv= (TextView) findViewById(R.id.textView1);
bt2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(Factivity.this, Sactivity.class);
startActivityForResult(intent, 1);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==1&&resultCode==2){
String content = data.getStringExtra("data");
tv.setText(content);
}
}
Sactivityファイル作成
private Button bt;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.sactivity);
bt= (Button) findViewById(R.id.button);
bt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent data= new Intent();
data.putExtra("data","hello");
setResult(2,data);
finish();
}
});
}
「テキストビューの変更にジャンプ」をクリックすると、別のページにジャンプし、別のページのボタンをクリックして元のページに戻ります.テキストビューが「hello」に変更されていることがわかります.
五.コードの具体的な理解
Intent intent = new Intent(Factivity.this, Sactivity.class); startActivity(intent);
intentはstartActivityの導きと考えられ、どこ(Factivity.this)からどこ(Sactivity.class)へ
Intent intent = new Intent(Factivity.this, Sactivity.class); startActivityForResult(intent, 1);
startActivity ForResultのintentと同様に、「1」はFactivityからSactivityへの申請番号を表します.
Intent data= new Intent(); data.putExtra("data","hello"); setResult(2,data); finish();
intentはジャンプを表すのではなく,返信パラメータを持つシンボル「data」と具体的なパラメータ「hello」setResult()メソッドの2はSactivityからFactivityへの結果コードである.
if(requestCode==1&&resultCode==2){ String content = data.getStringExtra("data"); tv.setText(content);}
申請番号と結果番号を検証した後、StringがintentのgetStringExtraメソッドで戻りパラメータの番号「data」で返される具体的なパラメータを初期化します.