需要帮助!
我尝试显示吐司信息(msg:请等待......)然后发生了一些事情(加载加载/读取.txt文件)然后另一个吐司(msg:完成!)。
但是第一次敬酒没有表现出来......或者说它太可笑了 加载此.txt文件需要一些时间(约5秒)我想通知用户。
有什么想法吗?我alredy试过睡觉和其他...
Toast.makeText(getApplicationContext(), "Please wait...", Toast.LENGTH_LONG).show();
File sdcard = Environment.getExternalStorageDirectory();
...
...
Toast.makeText(getApplicationContext(), "Done !",Toast.LENGTH_LONG).show();
提前致谢!
抱歉我的英文
答案 0 :(得分:0)
您是异步运行文件访问吗?如果没有,你永远不应该在主线程中运行很长的阻塞操作。在文件访问完成之后,它可能无法呈现您的第一个吐司,此时它应该已经消失。尝试AsyncTask
中的访问权限。
Toast.makeText(getApplicationContext(), "Please wait", Toast.LENGTH_LONG).show();
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground() {
File sdcard = Environment.getExternalStorageDirectory();
[access/mess around with the file]
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
Toast.makeText(getApplicationContext(), "Done",Toast.LENGTH_LONG).show();
}
}.execute();
答案 1 :(得分:0)
请将加载过程置于新线程中,我认为主进程已被阻止。