[英]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.