Bóton назад в титуле activity

Я хочу показать типичную стрелу назад в активности, и что, кликнув на ней, привел меня в предыдущую активность (я загрузил новую активность típicon startActivity (intent). Я прочитал, что с:

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

Выходит стрела в toolbar, но кликнув, не происходит ничто.

В alguién ему решение приходит в голову?

Спасибо предвосхищенные.

Приветствие

3
задан 17.09.2018, 19:51
4 ответа

Если extiene твой класс ActionBarActivity ты можешь использовать Toolbar как ActionBar:

Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(toolbar);

для того, чтобы он показал стрелу, реализует следующее:

getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);

, Если ты не увеличиваешь ActionBarActivity, определи значок, в этом случае изображение стрелы.

miActionBar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_flecha_back));

и определи OnclickListener для того, чтобы он реализовал ее acciГіn возвращения:

miActionBar.setNavigationOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
       //regresar...
        finish();
   }
});
3
ответ дан 03.12.2019, 22:34

В AndroidManifest.xml ты должен включать в активности, где ты будешь помещать возвращаться:

android:parentActivityName=".MainFragment"

В активности

//Appbar
        Toolbar toolbar = (Toolbar) findViewById(R.id.appbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayShowTitleEnabled(true);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

'

1
ответ дан 03.12.2019, 22:34

Метод 1 onSupportNavigateUp ()

Если ты только хочешь захватить, когда осуществляется пульсация в кнопку назад в ActionBar могут с событием onSupportNavigateUp

@Override
public boolean onSupportNavigateUp() {
    onBackPressed();
    return false;
}

Метод 2 onOptionsItemSelected ()

Ты должен захватывать событие onOptionsItemSelectedтак мочь реализовывать то, что ты хочешь, когда он будет нажат flecha atrás используя идентификатора android.R.id.home

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    // Respond to the action bar's Up/Home button
    case android.R.id.home:
        onBackPressed();
        return true;
    }
    return super.onOptionsItemSelected(item);
}

Метод 3 android:parentActivityName

Возможно определять один Activity по возвращении в реализация действия возвращаться, нажимая кнопку назад физически или bóton назад бруска титула.

Заметь: Когда возвращаются в активность, отец перезагружен снова с этим методом.

Со свойством android:parentActivityName он определяется Activity. Также возможно определять с meta-data в manfiest.xml где находится ассигнование активности, ему может распределять Вашу активность отец.

<activity
    android:name=".OtherActivity"
    android:label="@string/title_other_activity"
    android:parentActivityName="com.example.myfirstapp.MainActivity" >
    android:theme="@style/AppTheme.NoActionBar">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.example.myfirstapp.MainActivity" />
</activity>

Опциональный, Если захватывается пульсация кнопки с событием onOptionsItemSelected чтобы уполномочивать натуральное действие мы должны использовать NavUtils

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            NavUtils.navigateUpFromSameTask(this);
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}
4
ответ дан 03.12.2019, 22:34

Поскольку упоминает Макс Сандовал. одинокие две вещи:

В твоем activity:

Toolbar toolbar = (Toolbar) findViewById(R.id.appbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

В твоем AndroidManifest:

добавь признак android:parentActivityName и мета-дату в активности сын (где будет кнопка возвращения), пример был бы:

<activity
    android:name=".ChildActivity"
    android:label="@string/title_activity_child"               
    android:parentActivityName=".MainActivity"            
    android:theme="@style/AppTheme.NoActionBar">            
    <meta-data                  
        android:name="android.support.PARENT_ACTIVITY"
        android:value=".MainActivity" />
</activity>             
3
ответ дан 03.12.2019, 22:34