ある種のネットワーク アクセスを実行し、対応する 3 つの xml レイアウトで応答を取得する 3 つのアクティビティがあります (A、B、C と呼びます)。A は Intent を介して B にデータを渡し、B は Intent を介して C にデータを渡します。アプリケーションを実行すると、エミュレーターに 3 番目のアクティビティ/画面のみが表示されます。
A が最初に表示され、ボタンを押してから B に移動し、ボタンを押してから C に移動するなど、シーケンスを保持するにはどうすればよいですか (各アクティビティはネットワーク アクセス後に応答を取得するため、アクティビティのライフサイクルを使用する必要がありますか? .)
コード(関連部分)は次のとおりです。
A-
username = (EditText) findViewById(R.id.editTextusername);
password = (EditText) findViewById(R.id.editTextpassword);
submit = (Button)findViewById(R.id.submit);
//sampletext = (TextView) findViewById(R.id.textView1);
submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(username.getText().length()>0 && password.getText().length()>0)
{
URLconnector ss = new URLconnector();
ss.execute("SOME URL");
//network access in an async task, get response,
}
Intent part of activity A - on post execute method of async task
if(result != null)
{
Intent intentA = new Intent(mContext, B);
Bundle bundle = new Bundle();
bundle.putString("responsedata",result.substring);
tokenIntent.putExtras(bundle);
startActivity(intentA);
B-
URLconnector ss = new URLconnector();
ss.execute("SOME URL");
//network access in an async task, get response,
}
Intent part of activity B - on post execute method of async task
if(result != null)
{
Intent intentB = new Intent(mContext, c);
startActivity(tokenIntent);
c-
URLconnector ss = new URLconnector();
ss.execute("SOME URL");
//network access in an async task, get response,
}
Intent part of activity c- on post execute method of async task
if(result != null)
{
text3.setText(result);
}