Android中是否可以使用某种#define来简化语句?

时间:2019-06-02 23:14:19

标签: java android

考虑Java android语句:

Toast.makeText (this, "some message here", Toast.LENGTH_SHORT).show ();

我想写这样的东西:

myToast ("some message here");

然后,应使用完整版本的语句对其进行转换/翻译/替换。

我想知道Android Studio IDE(我的版本是3.4.1)是否具有某种帮助程序,因为没有像C中那样的预处理器,因此#define不是一个选择。

2 个答案:

答案 0 :(得分:4)

只需定义一个方法:

static void myToast(Context ctx, String message) {
  Toast.makeText (ctx, message, Toast.LENGTH_SHORT).show ();
}

答案 1 :(得分:1)

我知道问题是用Java标记的,但是由于您正在使用Android,所以我也想给您Kotlin解决方案。

Context上定义扩展方法:

fun Context.myToast(str: String) {
    Toast.makeText(this, str, Toast.LENGTH_SHORT).show()
}

现在,您可以在任何Activity(或任何其他Context)中使用它,而不必在任何地方定义它。