在Android中,如何将默认焦点放在ActionBar上的Back / Home按钮上

时间:2016-08-29 07:53:12

标签: android android-actionbar

我有一个从PreferenceFragment扩展的Fragment,如何在ActionBar的Back / Home按钮上获得默认焦点。

目前,默认焦点位于列表中的第一个条目。

在主活动中尝试了以下代码,但它给出了NULL指针异常,

View home = findViewById(android.R.id.home); home.requestFocus();

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方法吗? (这更像是一个黑客,潜在的假设是主页按钮是第一个孩子)

private void requestBackButtonFocus() {
    if (toolbar != null) {
        int childrenCount = toolbar.getChildCount();
        for (int i = 0; i < childrenCount; i++) {
            if (toolbar.getChildAt(i) instanceof ImageButton) {
                toolbar.getChildAt(i).requestFocus();
                break;
            }
        }
    }
}