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