大家好,又见面了,我是你们的朋友全栈君。
源代码:
Thread thread = new Thread(() -> {
MySQLUtil mySQLUtil = new MySQLUtil(this);
mySQLUtil.getConnection("cce-18");
ArrayList<String> res = null;
res = mySQLUtil.getMajorGpaRank(idMyself, major, finalYear, finalSemester_, course_nature);
if(res == null) {
ToastUtil.showMessage(getApplicationContext(), "暂无成绩信息!");
}else {
...}
});
thread.start();
try {
thread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
网上看了很多解决办法,都是在Toast的前后加上:
Looper.prepare();
ToastUtil.showMessage(getApplicationContext(), "暂无成绩信息!");
Looper.loop();
实验之后发现会卡在原来的界面,正确的解决办法:开一个runOnUiThread,如下所示:
runOnUiThread(() -> {
ToastUtil.showMessage(getApplicationContext(), "暂无成绩信息!");
});
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/161493.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...