android-up指示器不能正常工作
问题描述:
我已经构建了这个来测试我的应用程序如何在低端设备上工作(拥有少量资源,旧版本的android等),这种情况下指示器不工作只在我的2.3 .5 api 10.不工作意味着它不会让我回到父母的活动。然而敬酒,来看看发生了什么事情,此时只有完美显示设备上的烤面包,但仍然没有导航到父活动(主活动)android-up指示器不能正常工作
Main2Activity:
public class Main2Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Toast.makeText(this, "Up Button is clicked!", Toast.LENGTH_SHORT).show();
break;
}
return super.onOptionsItemSelected(item);
}
}
父母在Mainefest设置:
....
<activity
android:name=".Main2Activity"
android:parentActivityName=".MainActivity"></activity>
</application>
....
再次,这是可以正常使用没有任何仿真器的问题,我的其它设备我测试,如Nexus 5(API 19),不仅工作:创建
吐司:
任何想法,为什么起来指示灯不带我回主要活动?
答
在你onOptionsItemSelected()
添加NavUtils.navigateUpFromSameTask(this);
也返回true消耗事件..
void navigateUpFromSameTask (Activity sourceActivity)
:便利 方法等同于调用navigateUpTo(sourceActivity, getParentActivityIntent (sourceActivity))。 sourceActivity将通过此调用完成 。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
Toast.makeText(this, "Up Button is clicked!", Toast.LENGTH_SHORT).show();
return true;
}
return super.onOptionsItemSelected(item);
}
还支持API等级4 - 16,你还可以用<meta-data>
元素指定"android.support.PARENT_ACTIVITY"
值声明父活动。例如:
<activity
android:name="com.example.app.ChildActivity"
android:label="@string/title_child_activity"
android:parentActivityName="com.example.app.MainActivity" >
<!-- Parent activity meta-data to support API level 4+ -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.app.MainActivity" />
</activity>
最后,像一个魅力工作......并解决了我的问题,在该设备上!谢谢 –