Почему кнопка вверх присутствует без setDisplayHomeAsUpEnabled()? - программирование
Подтвердить что ты не робот

Почему кнопка вверх присутствует без setDisplayHomeAsUpEnabled()?

В соответствии с Google, getActionBar().setDisplayHomeAsUpEnabled(true) требуется, чтобы показать кнопку вверх. Я создал активную деятельность с помощью мастера в Eclipse и указал его родительскую активность. Я не смог найти getActionBar().setDisplayHomeAsUpEnabled(true) в автоматически сгенерированном коде, но кнопка "вверх" присутствует, когда эта активность запущена и работает так, как ожидалось. Может ли кто-нибудь пролить свет на это?

public class FooActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_foo);

            //more code...    
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
            //more code...  
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

    /**
     * A placeholder fragment containing a simple view.
     */
    public static class PlaceholderFragment extends Fragment {

        public PlaceholderFragment() {
        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            //more code...  
            return rootView;
        }
    }

}
4b9b3361

Ответ 2

Я описал все возможные комбинации ниже и их результаты:

  • У вас есть android:parentActivityName=".MyActivity, и эта кнопка getActionBar().setDisplayHomeAsUpEnabled(true); - back появляется, и она работает;
  • Появляется только эта кнопка android:parentActivityName=".MyActivity - back, и она работает так же, как и выше;
  • У вас есть только эта кнопка getActionBar().setDisplayHomeAsUpEnabled(true);, - back, но щелчок по ней не идет никуда;
  • Вы установили для этого параметра значение false в этом getActionBar().setDisplayHomeAsUpEnabled(false);, хотя у вас есть этот android:parentActivityName=".MyActivity в манифесте, кнопка возврата не отображается.

Как это работает мой друг.