2017-04-23 71 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

最後,像一個魅力工作......並解決了我的問題,在該設備上!謝謝 –