gpt4 book ai didi

java - 以普遍 Intent 通过类(class)

转载 作者:行者123 更新时间:2023-11-30 10:24:28 25 4
gpt4 key购买 nike

所以,现在在我的应用程序中,我正在将数据从实际类发送到其他准备显示来自它的信息的特殊类,如下所示:

 Intent intent = new Intent(ActualFluidsBernoullisEquationMenuActivity.this, DetailSubjectActivity.class);

当然我也传递了一些信息,我首先需要创建数据库引用,所以有大约 15 行代码。我有大约 15 个这样的 Activity ,这创建了很多样板(唯一的换行是我要通过的.this类)所以我想为这样的 Intent 创建通用方法:

 Intent engineeringTheoryIntent(String callingActivity, String subjectKey) throws ClassNotFoundException {
Intent intent = new Intent(Class.forName(callingActivity).getClass().this, DetailSubjectActivity.class);
}

(这个不行,以防万一)

我只是找不到如何正确通过头等舱的方法。我试过 Class.forName,我试过让整个类(class)通过,但这些都不适合我。如果这可能的话,我也没有找到任何信息(我是 android 方面的初学者)。那有什么办法吗?

最佳答案

我把解决方案贴在评论区作为答案,希望对以后遇到类似问题的人有帮助。

因此,您可以简单地将 Activity 本身作为参数传递给您的通用函数,而不是传递 Activity 类名称(作为 String),如下所示:

Intent engineeringTheoryIntent(Activity callingActivity, String subjectKey) throws ClassNotFoundException {

然后您可以像这样使用它来创建您的Intent:

Intent intent = new Intent(callingActivity,  DetailSubjectActivity.class);

因此,您的函数将如下所示:

Intent engineeringTheoryIntent(Activity callingActivity, String subjectKey) throws ClassNotFoundException {
Intent intent = new Intent(callingActivity, DetailSubjectActivity.class);
}

关于java - 以普遍 Intent 通过类(class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46530746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com