繁体   English   中英

以通用意图传递类

[英]Passing class in universal intent

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

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

当然,我也传递了一些信息,我首先需要在这些信息上创建数据库引用,所以有 15 行代码。我有 15 个这样的活动,这些活动正在创建很多样板(唯一改变的行是我正在传递哪个.这个类)所以我想为这样的意图创建通用方法:

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

(这不起作用,以防万一)

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

我在评论中发布了解决方案作为答案,以帮助将来遇到类似问题的人。

因此,您可以简单地将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);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM