2015-04-28 3 views
0

А. Что я сделал:Почему кнопка Up ведет себя как назад?

  1. Я создал новое приложение (чтобы убедиться, что там не было ничего плохого в мой код в приложении, я работаю на том, что сделал это произошло) с 2-х видов деятельности: активность 1 (запуск активности) и активность 2

  2. Я добавил одну строку манифеста: android:parentActivityName=".Activity1"> Теперь выглядит как:

    <activity 
        android:name=".Activity1" 
        android:label="@string/app_name" > 
        <intent-filter> 
         <action android:name="android.intent.action.MAIN" /> 
         <category android:name="android.intent.category.LAUNCHER" /> 
        </intent-filter> 
    </activity> 
    <activity 
        android:name=".Activity2" 
        android:label="@string/title_activity_activity2" 
        android:parentActivityName=".Activity1"> 
    </activity> 
    
  3. Активность 1 имеет кнопку с этим методом, чтобы показать активность 2:

    public void goToPage(View v){ 
        Intent mainIntent = new Intent(Activity1.this, Activity2.class); 
        Activity1.this.startActivity(mainIntent); 
        Activity1.this.finish(); 
    } 
    
  4. запустить приложение. Нажмите кнопку -> Я перешел от A1 к A2. Затем я нажимаю кнопку «Вверх» на панели и возвращаюсь на главный экран!

  5. добавить это OnCreate в деятельности 2:

    ActionBar actionBar = getSupportActionBar(); 
    actionBar.setDisplayHomeAsUpEnabled(true); 
    

Выполнить код еще раз, такое же поведение.

Я следую документации андроида (http://developer.android.com/training/implementing-navigation/ancestral.html)

Благодарим Вас за помощь

+0

Активность1.this.finish(); Не звоните – apk

ответ

1

здесь код

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case android.R.id.home: 
      NavUtils.navigateUpFromSameTask(this); 
      break; 
     } 

    return true; 
} 

Теперь на кнопку, если родительский деятельности есть в деятельности складывают будет принимать от пользователя к родительской, иначе он будет работать как назад.

поэтому в вашем случае попробуйте комментировать следующую строку вашего кода.

Activity1.this.finish(); 
+1

Вот и все, спасибо! – KNS

Смежные вопросы