根据Google's document,需要getActionBar().setDisplayHomeAsUpEnabled(true)
来显示向上按钮。我使用Eclipse中的向导创建了一个裸骨活动,并指定了它的父活动。我在自动生成的代码中找不到任何getActionBar().setDisplayHomeAsUpEnabled(true)
,但是当此活动启动并且按预期工作时,会出现向上按钮。任何人都可以对此有所了解吗?
public class FooActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_foo);
//more code...
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//more code...
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//more code...
return rootView;
}
}
}
答案 0 :(得分:13)
在parentActivityName
,AndroidManifest
will check for that and automatically enable the "up" affordance if it's present.
Acitivty
时
答案 1 :(得分:3)
我描述了下面所有可能的组合及其结果:
android:parentActivityName=".MyActivity
和此getActionBar().setDisplayHomeAsUpEnabled(true);
- 后退按钮,它可以正常工作; android:parentActivityName=".MyActivity
- 后退按钮出现并且有效,与上面相同; getActionBar().setDisplayHomeAsUpEnabled(true);
, - 后退按钮出现但点击它不会去任何地方; getActionBar().setDisplayHomeAsUpEnabled(false);
中将参数设置为false,即使清单中有此android:parentActivityName=".MyActivity
,也不会显示后退按钮。这就是我的朋友的作用。