Ответ 1
При указании parentActivityName
в AndroidManifest
, Acitivty
будет проверять это и автоматически активировать доступ "вверх" , если он присутствует.
В соответствии с 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;
}
}
}
При указании parentActivityName
в AndroidManifest
, Acitivty
будет проверять это и автоматически активировать доступ "вверх" , если он присутствует.
Я описал все возможные комбинации ниже и их результаты:
android:parentActivityName=".MyActivity
, и эта кнопка getActionBar().setDisplayHomeAsUpEnabled(true);
- back появляется, и она работает;android:parentActivityName=".MyActivity
- back, и она работает так же, как и выше;getActionBar().setDisplayHomeAsUpEnabled(true);
, - back, но щелчок по ней не идет никуда;getActionBar().setDisplayHomeAsUpEnabled(false);
, хотя у вас есть этот android:parentActivityName=".MyActivity
в манифесте, кнопка возврата не отображается.Как это работает мой друг.