相关疑难解决方法(0)

当Snackbar解散自己时如何通知我?

我正在使用com.android.support:design:22.2.0图书馆的Snackbar .我用它来撤消删除.为了让我的生活更轻松,我将使UI看起来实际上已从数据源中删除了内容,如果未按下小吃栏中的撤消按钮,则实际执行数据源中的删除操作.所以,我想知道什么时候Snackbar不再可见,所以删除这些项目是安全的.

我可以在Snackbar上调用getView(),但我不确定我应该使用什么样的监听器.我试过setOnSystemUiVisibilityChangeListener()但是没有用,我相信它只适用于系统状态栏.

此外,Snackbar无法扩展,因为它有一个私有构造函数.

android material-design snackbar android-design-library android-snackbar

66
推荐指数
7
解决办法
3万
查看次数

如何在SnackBar中使用setDuration()方法(Android设计支持库)

来自文档:参数持续时间 - 可以是预定义长度之一:LENGTH_SHORT,LENGTH_LONG 或自定义持续时间(以毫秒为单位).但我无法设置自定义持续时间.

例如

Snackbar
    .make(parentLayout, "Feed cat?", 8000) // try here
    .setAction("Yes", snackOnClickListener)
    .setActionTextColor(Color.MAGENTA)
    .setDuration(8000) // try here
    .show();
Run Code Online (Sandbox Code Playgroud)

但不是8秒,Snackbar很快就消失了.

android snackbar android-design-library

51
推荐指数
6
解决办法
3万
查看次数

在小吃栏操作中,如何确保永久删除数据库中的软删除记录是安全的?

我在android中使用Snackbar并且我已经实现了一个动作,以便用户可以撤消动作(动作是清除列表视图中的所有项目).将项目恢复并添加回列表视图已经完成并且工作正常.

我的问题是,项目存储在sqlite数据库中,如何从表中删除项目?(我怎么知道用户没有点击撤销按钮,这样我就可以从数据库中完全删除数据).

这是OnOptionsItemSelcted()中的代码

case R.id.action_clear:
        final List<Word> temp = new ArrayList<Word>(data);
        data.clear();
        adapter.notifyDataSetChanged();
        View view = findViewById(R.id.layoutFavWords);
        Snackbar.make(view,"Deleted Saved Selection.", Snackbar.LENGTH_LONG).
        setAction("Undo", new OnClickListener() {

            @Override
            public void onClick(View v) {
                for(Word word:temp)
                    data.add(word);
                adapter.notifyDataSetChanged(); 
            }

        }).show();
        break;
Run Code Online (Sandbox Code Playgroud)

因此,如果用户在快餐栏的可见时段内没有单击撤消按钮,那么我需要从数据库中永久删除数据.

对此有何解决方案?

java android android-support-library snackbar android-design-library

20
推荐指数
3
解决办法
1万
查看次数