2017-04-23 79 views
0

我已经构建了这个来测试我的应用程序如何在低端设备上工作(拥有少量资源,旧版本的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),不仅工作:创建

enter image description here

吐司:

enter image description here

任何想法,为什么起来指示灯不带我回主要活动?

回答

1

在你onOptionsItemSelected()添加NavUtils.navigateUpFromSameTask(this);

也返回true消耗事件..

Documentaiton

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> 
+0

最后,像一个魅力工作......并解决了我的问题,在该设备上!谢谢 –