快速滚动拇指在滚动字母索引器时消失

2022-09-01 11:06:19

我有一个 with 和 两者都设置为 .实现到 my 和 an 后,my 将在我滚动时消失,然后在我到达列表的顶部或底部后重新出现。我对为什么会发生这种情况一无所知。我以前没有经历过。ListViewfastScrollAlwaysVisiblefastScrollEnabledtrueSectionIndexerAdapterAlphabetIndexerfast scroll thumb

就目前而言,下面的一切都有效。我的问题是,为什么我的快速滚动拇指在我滚动时会消失,我该如何阻止它消失?AlphabetIndexer

是否始终可见并不重要。每当可见时,它就不存在,它只是消失了,这就是我的问题。此外,当我像我打算的那样删除作品时。一切都在一个中成功工作,但是当我加载我的一个东西时,事情最终会像我解释的那样。fast scrollfast scrollfast scroll thumbAlphabetIndexerfast scroll thumbActivityListViewFragment

这是我的:AdapterListView

private class AlbumsAdapter extends SimpleCursorAdapter implements
        SectionIndexer {

private AlphabetIndexer mIndexer;

// I have to override this because I'm using a `LoaderManager`
@Override
    public Cursor swapCursor(Cursor cursor) {

        if (cursor != null) {
            mIndexer = new MusicAlphabetIndexer(cursor, mAlbumIdx,
                    getResources().getString(R.string.fast_scroll_alphabet));
        }
        return super.swapCursor(cursor);
    }

    @Override
    public Object[] getSections() {
        return mIndexer.getSections();
    }

    @Override
    public int getPositionForSection(int section) {
        return mIndexer.getPositionForSection(section);
    }

    @Override
    public int getSectionForPosition(int position) {
        return 0;
    }
}

MusicAlphabetIndexer帮助正确整理音乐:

class MusicAlphabetIndexer extends AlphabetIndexer {

public MusicAlphabetIndexer(Cursor cursor, int sortedColumnIndex,
        CharSequence alphabet) {
    super(cursor, sortedColumnIndex, alphabet);
}

@Override
protected int compare(String word, String letter) {
    String wordKey = MediaStore.Audio.keyFor(word);
    String letterKey = MediaStore.Audio.keyFor(letter);
    if (wordKey.startsWith(letter)) {
        return 0;
    } else {
        return wordKey.compareTo(letterKey);
    }
  }
}

答案 1

我在快速滚动器的拇指图标上遇到了类似的问题。我正在调查Android源代码,发现了一个引入此问题和其他(ArrayIndexOutOfBoundsException)的提交。我甚至在没有这个提交的情况下构建了Android系统,然后它就工作了。

我在六月份提交了这个问题:https://code.google.com/p/android/issues/detail?id=33293
当我阅读它时,我知道我看到我可以更好地描述这个问题:)

这是造成问题的提交:https://github.com/android/platform_frameworks_base/commit/32c3a6929af9d63de3bf45a61be6e1a4bde136d3

不幸的是,除了恢复提交之外,我没有找到任何解决方案,我离开了它。
我希望有人能找到如何解决它。


答案 2

您是否将两者都设置为 快速滚动方式可见 ?没有 a 的属性,所以我想也许你只是设置为 true,但设置为它的默认值,即 .fastScrollEnabledtruefastScrollAlwaysEnabledListViewfastScrollEnabledfastScrollAlwaysVisiblefalse


推荐