android - 如何在存储访问框架中显示 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();
}
解决方案
当您的用户正在等待时,Toast 不是一个好主意。当您的应用程序正在读取文件时创建一个ProgressDialog并在文件读取完成时将其关闭。
推荐阅读
- python - 如何从python中的字典字典中获取列表列表?
- python - 如何在 python 中使用 twitter API 抓取包含特定链接的推文?
- lua - Lua 局部函数不选择局部变量成员,除非在声明时分配
- reactjs - 为什么它不起作用,函数调用和模块导入?
- python - 最有效的带有 if 语句的 Python 循环
- c - My function aren't working after i called them
- javascript - Sqlite 等待数据库打开
- javascript - 仅检查输入数字
- flutter - Flutter StreamBuilder ListView在流数据更改时不会重新加载
- amazon-web-services - 使用 react-native-aws3 上传到 S3