我从活动A打开活动B,然后从活动B打开活动C. 现在点击活动C后面的,它应该打开活动B,如果我在活动C中按ok,它应该回到活动A.
public class ActivityA extends ActionBarActivity
{
public void onCreate(Bundle savedInstanceState)
{
....
}
public void onClick(View v)
{
Intent intent = new Intent(this, ActivityB.class);
startActivityForResult(intent,100);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if(resultCode != RESULT_OK)
{
return;
}
if(requestCode == 100)
{
String val=data.getStringExtra(“result_str”);
....
}
}
}
public class ActivityB extends ActionBarActivity
{
public void onCreate(Bundle savedInstanceState)
{
....
}
public void onClick(View v)
{
Intent intent = new Intent(this, ActivityC.class);
startActivityForResult(intent,100);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if(resultCode != RESULT_OK)
{
return;
}
if(requestCode == 100)
{
Intent intent = new Intent();
intent.putExtra(“result_str”,data.getStringExtra(“result_str”));
intent.putExtra("val",val);
setResult(RESULT_OK, intent);
finish();
}
}
}
public class ActivityC extends ActionBarActivity
{
public void onCreate(Bundle savedInstanceState)
{
....
}
public void onClick(View v)
{
....
Intent intent = new Intent();
intent.putExtra(“result_str”,result)
setResult(RESULT_OK, intent);
finish();
}
}
在这种情况下,我可以看到两个活动消失了。我不希望看到两个活动在视觉上完成。如何实现呢?
答案 0 :(得分:1)
答案 1 :(得分:0)
执行以下代码
你想从A开始B,然后在任何点击方法或事件中写下A活动中的代码。
Intent i = new Intent(this, B.class);
startActivity(i);
finish();
现在你必须从B打开C活动,然后在代码上面使用val。
Intent i = new Intent(this, C.class);
startActivity(i);
finish();
现在打开C活动的B活动在Back和on Ok按钮时间打开A acivity。
此处代码表示在按下确定按钮时从C打开A acivity。
Intent i = new Intent(this, A.class);
startActivity(i);
finish();
以下代码写入onBack按钮从C活动按下并打开B活动。
@Override
public void onBackPressed() {
super.onBackPressed();
Intent i = new Intent(this, B.class);
startActivity(i);
}
答案 2 :(得分:0)
现在点击活动C后面,它应该打开活动B
在AndroidManifest.xml中
<activity
android:name=".C"
android:label="Activity C"
android:parentActivityName=".B">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".B"/>
</activity>
如果我在活动C中按ok,它应该返回活动A
ok.setOnClickListener(new View.OnClickListener(){
public void onClick(View view){
Intent intent = new Intent(ActivityC.this,ActivityA.class);
startActivity(intent);
}
});