上周leader给我布置了两个tsk,因为mentor去旅游了,所以我只有自己苦逼的解bug,为此没少麻烦leader :-)
第一个任务是在设置里面加返回键, 设置主页面是activity,具体设置是PreferenceFragment,具体要求是setting主页面没有返回键,其他子页面有返回键。
这就让我很为难了,因为我只会在androidManifest 里面加上:
android:parentActivityName=".setting"
但是显然不行,因为这会在主设置页面也加上返回键。 在我mentor走之前给我讲过可以加如下代码:
if (getActionBar() != null) { getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setHomeButtonEnabled(true); }
但是还是不行,点击完全没有用,这就让我很费心了,琢磨了很长时间还是没有头绪。然后我就用我的新技能——找leader,然后他给我扔了一个连接:
http://stackoverflow.com/questions/18133443/fragments-onoptionsitemselected-doesnt-get-called
说参考一下。 然后我又投入到实验当中。按照他说的在Activity和PreferenceFragment里面分别加上:
@Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.home: finish(); return true; default: return super.onOptionsItemSelected(item); } }
我在写的时候把Activity的onOptionsItemSelected(MenuItem item) 函数删除了,因为我认为只有PreferenceFragment会响应这个
因为一个失误,写的好多内容只剩下这么多了,很失望,以后要打草稿在word里面,这个编辑器很不爽。
时间: 2024-11-06 13:03:47