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

标签 java android

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

 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/

相关文章:

Java Socket 数据包读取重叠

java - 如何制作带有变化图像的 ListView

java - 找不到类 "android.view.layout"

javascript - 我如何知道设备屏幕有多少物理英寸?

android - ArrayAdapter 文本和图像

android - 在 v1.5 中访问 Android 手机的唯一标识符(用户、电子邮件或电话)

java - 如何在首选项之前显示加载屏幕类 [Libgdx & android]

java - 从 Swing 应用程序远程访问 GWT 服务器

java - 显示格式XX :00 in JAVA

java - 如何确保这是我的类签名中引用的泛型类型?