0
我有一個應用程序,我希望兩個基於點擊按鈕的兩個活動開始其中一個活動,然後從被調用的活動返回某些值。我知道我應該使用requestCode來檢查活動。但無論哪種方式,該應用程序假定第一個活動被調用。這是我在主類中的部分代碼。來自多個活動的返回值
public void onClick(View v) {
switch(v.getId())
{
case R.id.start:
Intent i = new Intent(this, one.class);
startActivityForResult(i, FIRST_CODE);
break;
case R.id.qwe:
Intent j = new Intent(this, two.class);
startActivityForResult(j, SECOND_CODE);
break;
}
,後來,
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if(requestCode==FIRST_CODE)
{
if(resultCode==RESULT_OK)
{
min = Integer.parseInt(data.getStringExtra("minutes"));
sec = Integer.parseInt(data.getStringExtra("seconds"));
test1.setText(min + ":" + sec);
}
}
else if(requestCode==SECOND_CODE)
{
if(resultCode==RESULT_OK)
{
runMin = Integer.parseInt(data.getStringExtra("minutes"));
runSec = Integer.parseInt(data.getStringExtra("seconds"));
test2.setText(runMin + ":" + sec);
}
}
}
在我的班級 '一' 和 '二',這是我的代碼:
min = (EditText)findViewById(R.id.smin);
sec = (EditText)findViewById(R.id.ssec);
String mtime, stime;
mtime = min.getText().toString();
stime = sec.getText().toString();
dat2 = new Intent();
dat2.putExtra("minutes", mtime);
dat2.putExtra("seconds", stime);
setResult(RESULT_OK, dat2);
finish();
這兩個類是相同的。那是錯的嗎?謝謝。 :)
爲什麼你需要創建兩種相同的活動?否則沒有什麼是錯的。 – 2012-02-04 17:53:26
我想從兩個活動中獲得兩個不同的時間。它們基本相同,但我想將不同的結果存儲在不同的變量中,以便稍後使用它們。 – 2012-02-05 08:47:33
我認爲你應該只創建一個活動,並且在該活動中通過布爾變量等條件區分時間。根據該變量狀態,可以將結果存儲在其他需要的變量中。 – 2012-02-05 18:29:12