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