我有3个活动:A,B和C.
在A班,
Intent i = new Intent(getApplicationContext(),B.class);
i.putExtra("id", user);
startActivity(i);
在B班,
String u = getIntent().getStringExtra("id");
---- bla bla bla ---
Intent i = new Intent(getApplicationContext(),C.class);
i.putExtra("name", name);
i.putExtra("tel",tel);
startActivity(i);
现在我在"活动C"。如何回到"活动B"?我尝试放置完成()但是,错误"不幸的是,APPNAME已经停止了。"出现,背景是"活动A"。
我想回到" B活动"。 请帮帮我。
答案 0 :(得分:0)
您可以使用onBackPressed();
方法返回上一个活动...
在Activity C的layput上放一个按钮,并将这个onBackPressed();
放在Buttons的点击监听器上......如下所示......
btn_back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
onBackPressed();
}
});
这可能对你有帮助..
答案 1 :(得分:0)
尝试使用Up Button,可以通过在清单的android:parentActivityName
元素中放置属性activity
(需要将其设置为案例B中的父活动)来完成文件,并在活动的onCreate方法中调用setDisplayHomeAsUpEnabled()
。
答案 2 :(得分:0)
阅读这些Docs
然后这样做:
对于Eg:
活动A:
public class Activitya extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.your_activity);
position = getIntent().getExtras().getInt("position");
id = getIntent().getExtras().getString("id");
name = getIntent().getExtras().getString("name");
final ActionBar actionBar = getActionBar();
getActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
}
活动B:
在活动B中,您必须使用intent
返回上一个活动。
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3)
{
Intent intent = new Intent(getActivity(), Activitya.class);
intent.putExtra("position", position);
intent.putExtra("id", gallery.getGalId());
intent.putExtra("name", gallery.getAlbumTitle());
startActivity(intent);
}