gpt4 book ai didi

android - Snackbar 堆栈将始终只显示最后一个 snackbar

转载 作者:行者123 更新时间:2023-12-02 21:09:48 26 4
gpt4 key购买 nike

Snackbar.make(...).show() 将只显示最后一个 snackbar,不像 toast 其他 snackbar 都消失了。

for(int i = 1;i < 11;i++) {  
Snackbar.make(..., "number: " + i, Snackbar.LENGTH_SHORT).show();
}

有时当 snackbar 应该在网络任务之后显示而一个应该在网络任务之前显示时,秒 snackbar 永远不会显示。

我正在使用协调器布局。

最佳答案

我现在实现了自己的队列:

protected ArrayList<Snackbar> mSnackbarList = new ArrayList<>();

protected Snackbar.Callback mCallback = new Snackbar.Callback() {
@Override
public void onDismissed(Snackbar snackbar, int event) {
mSnackbarList.remove(snackbar);
if (mSnackbarList.size() > 0)
displaySnackbar(mSnackbarList.get(0));
}
};

public void addQueue(Snackbar snackbar){
setLayoutParams(snackbar);
snackbar.setCallback(mCallback);
boolean first = mSnackbarList.size() == 0;
mSnackbarList.add(snackbar);
if(first)
displaySnackbar(snackbar);
}

public void displaySnackbar(Snackbar snackbar){
snackbar.show();
}

关于android - Snackbar 堆栈将始终只显示最后一个 snackbar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34150982/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com