首页 > 解决方案 > 如何在存储访问框架中显示 Toast?

问题描述

如何在存储访问框架的文件资源管理器中显示 Toast,以便让用户知道应用程序正在读取文件,这可能需要几秒钟。

 public void openFile() {
    Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
    intent.addCategory(Intent.CATEGORY_OPENABLE);
    intent.setType("text/plain");
    startActivityForResult(intent, OPEN_REQUEST_CODE);
}

我曾尝试在此方法中添加 Toast,但没有奏效。

private String readFileContent(Uri uri) throws IOException {

    InputStream inputStream =
            getContentResolver().openInputStream(uri);
    BufferedReader reader =
            new BufferedReader(new InputStreamReader(
                    inputStream));
    StringBuilder stringBuilder = new StringBuilder();
    String currentline;
    while ((currentline = reader.readLine()) != null) {
        stringBuilder.append(currentline + "\n");
    }
    inputStream.close();
    return stringBuilder.toString();
}

标签: android

解决方案


当您的用户正在等待时,Toast 不是一个好主意。当您的应用程序正在读取文件时创建一个ProgressDialog并在文件读取完成时将其关闭。


推荐阅读