我有两个活动的tabActivity。
在我的listActivity中,我有一个字段,你点击了开始新的活动
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
Obiekt item = (Obiekt)items.get(position);
Intent intent = new Intent(ListActivity.this, ActivityObjects.class);
startActivityForResult(intent, REQUEST_EVENT);
super.onListItemClick(l, v, position, id);
}
在第一种情况下,我单击列表中的项目并转到第二个活动,当用户单击“后退按钮”活动消失并显示listView时。
在第二种情况下,我单击“MapActivity”选项卡并返回主选项卡“ListActivity”。我点击listView上的项目并转到另一个Activity,当用户点击“返回按钮”时,屏幕挂起大约2秒钟,然后出现listView ...
这是我的xmp文件:
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
init mapActivity:
FragmentManager myFragmentManager = getSupportFragmentManager();
myMapFragment = (SupportMapFragment)myFragmentManager.findFragmentById(R.id.map);
myMap = myMapFragment.getMap();
我如何向TabHost添加标签:
private void addMap(String labelId, Class<?> c) {
TabHost tabHost = getTabHost();
Intent intent = new Intent(this, c);
TabHost.TabSpec spec = tabHost.newTabSpec("tab" + labelId);
View tabIndicator = LayoutInflater.from(this).inflate(R.layout.tabs, getTabWidget(), false);
TextView title = (TextView) tabIndicator.findViewById(R.id.title);
title.setText(labelId);
spec.setIndicator(tabIndicator);
spec.setContent(intent);
tabHost.addTab(spec);
}
Android 2.3.3 我在android 4.0上没有这个问题
答案 0 :(得分:0)
您可以覆盖后退按钮的方法以显示上一个Activity并销毁地图片段。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
Log.d("MainActivity", "onKeyDown");
if (keyCode == KeyEvent.KEYCODE_BACK)
{
Intent i = new Intent(MainActivity.this,
ListActivity.class);
startActivity(i);
MapActivity.this.finish();
return false;
}
else
{
return super.onKeyDown(keyCode, event);
}
}