我在AIDE上为android做了一个应用程序,我正在使用一个意图将活动中的数据发送到正常的类。我正在使用:
int level= (currentLevel*100)/scale;
Intent i = new Intent(context, caller.class);
i.putExtra("level",level);
context.startActivity(i);
在发送数据的类中(“percentage.class”)。
int p = getIntent().getIntExtra("level");
在接收数据的类中(“caller.class”) 这给了我一个错误:“Unknown method getIntent()”。 我该怎么做才能解决这个问题? 提前谢谢!
答案 0 :(得分:1)
在你的问题中很容易说出问题是什么。您调用getIntent
的类不会继承类Activity。
与其他人所说的继承不同,Activity不太可能为您提供所需的内容。我怀疑的是你在一个按钮或类似的东西中调用getIntent。因为它可能包含在一个不直接指向您的活动的方法中。你应该“保留”指向活动的指针。
通常,您正在寻找的内容应该在上下文中。如果您的上下文是我“相信”应该是的内容,则调用context.getIntent
可能会有效。显示更多信息,让我们更好地了解正在发生的事情。因为getIntent是从活动中调用的。 getIntent
与编写this.getIntent
相同,但Java隐含地调用this
上的函数,然后调用全局范围(导入的东西)。
如果您想避免此问题,请始终从this
调用它,当您从处理程序中调用时,您可以将类中的引用保留为当前活动。我不太确定,但在一些对象上,你应该有一个函数getActivity
,它将返回它们所在的活动。
obj.getActivity().getIntent()...
答案 1 :(得分:0)
getIntent()
方法属于Activity
类。如果您的课程没有延长Activity
,您将收到此错误。尝试扩展Activity
,看看它是否有效。