如何在ListActivity中使用backnavigation图标

时间:2016-09-06 12:29:53

标签: android listview android-studio android-fragments

在我的应用程序调用演示扩展ListActivity,我想使用后退按钮导航图标。请建议我怎么可能 示例:public class demo extends ListActivity并且我不想更改ListActivity以扩展其他活动

1 个答案:

答案 0 :(得分:0)

写下这一行:

 assert getActionBar() != null;
    getActionBar().setDisplayHomeAsUpEnabled(true);
ListActivity getSupportActionBar中的

不受支持。所以你应该使用Actionbar

或者您可以像这样使用委托方法:

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    AppCompatCallback callback = new AppCompatCallback() {
        @Override
        public void onSupportActionModeStarted(ActionMode actionMode) {
        }

        @Override
        public void onSupportActionModeFinished(ActionMode actionMode) {
        }

        @Nullable
        @Override
        public ActionMode onWindowStartingSupportActionMode(ActionMode.Callback callback) {
            return null;
        }
    };

    AppCompatDelegate delegate = AppCompatDelegate.create(this, callback);

    delegate.onCreate(savedInstanceState);
    delegate.setContentView(R.layout.saved_report_activity);

    Toolbar toolbar= (Toolbar) findViewById(R.id.toolbar);
    delegate.setSupportActionBar(toolbar);
    delegate.getSupportActionBar().setDisplayShowHomeEnabled(true);

    toolbar.setNavigationIcon(R.drawable.abc_ic_ab_back_mtrl_am_alpha);
    toolbar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            NavUtils.navigateUpFromSameTask(SomeActivity.this);
        }
    });

并确保您的AppCompatCallback导入v7库。

import android.support.v7.app.AppCompatCallback;
import android.support.v7.app.AppCompatDelegate;

最佳方法是使用Delegate for ListActivity