作为一个曾写过Android APP的咸鱼级开发者,目前由于工作原因,最经常做的事不是加APP功能而是加优化已有功能。加Toast是最经常要做的了。
确实说起来超简单,然鹅每次都会在各种小问题上卡很久~~(还是太菜了)~~,这里记录下方法

另外小感慨一下,确实隔行如隔山,看起来一个小功能很好实现,但是你没入行,对你来说也是座高山……

目的

最简答的方式在各种情况下添加Toast

1
Toast.makeText(context, 'Toast内容', Toast.LENGTH_LONG).show();

假设及对应解决方案

子线程调用Toast导致App崩溃

开个Handler

1
2
3
new Handler(Looper.getMainLooper()).post(()->{
    Toast.makeText(context, "Toast内容", Toast.LENGTH_LONG).show();
});

网友liarrdev贴出来的方法
但是很奇怪我使用第一个Looper的方法仍然蹦……后续几个又不适用我的具体场景

拿Context

如果能拿到Activity,就好拿到Context。
如果路径太深,不要犹豫,问问仓库的负责人,肯定有维护ContextHandler之类的类。

得承认很多时候其实解决问题更多的是直接询问(在梳理清楚自己逻辑的情况下),而不是闷头搜半天。