Android 从非活动类调用活动
我想从非活动类调用活动,基类将一些参数作为bundle发送。但是当我添加以下代码时Android 从非活动类调用活动,android,Android,我想从非活动类调用活动,基类将一些参数作为bundle发送。但是当我添加以下代码时 final Intent intent = new Intent(UserSettingsFragment.this, UserAccount.class); /*Sending some arguments*/ Bundle bundle = new Bundle(); bundle.putString("UserName",NAME); bundle.putString("Id", I
final Intent intent = new Intent(UserSettingsFragment.this, UserAccount.class);
/*Sending some arguments*/
Bundle bundle = new Bundle();
bundle.putString("UserName",NAME);
bundle.putString("Id", ID);
intent.putExtras(bundle);
this.startActivity(intent);`
eclipse显示了错误
The constructor `Intent(UserSettingsFragment, Class<UserAccount>) is undefined.
构造函数的意图(UserSettingsFragment,Class)未定义。
如何解决此问题。使用getActivity()
而不是UserSettingsFragment。此
我猜你试着从片段开始另一个活动。如果是这样,那么您必须将片段的父活动的上下文传递给意图构造函数
- 在我的例子中,我使用了其他替代方法,比如将活动或上下文传递到构造函数中,并使用该上下文可以调用下一个活动
- 我认为您应该使用
,该回调将根据您的响应更改您的活动接口
- 在
,并在其他一些Java文件中实现ABC,该文件应ABC接口中编写回调方法
扩展活动或片段活动。
- 这样,当某个特定任务在某个时间完成时,
方法将自动调用您的事件Override
- 我认为这是从
非扩展活动类调用Intent的简单而最好的方法。
- 请参见如何使用简单的示例来管理此问题
// If you are calling this for in a Fragment.
final Intent intent = new Intent(getActivity(), UserAccount.class);
/*Sending some arguments*/
Bundle bundle = new Bundle();
bundle.putString("UserName",NAME);
bundle.putString("Id", ID);
intent.putExtras(bundle);
this.startActivity(intent);`
您使用的
Intent
构造函数需要一个作为第一个参数。请参阅。UserSettingsFragment是否为片段类??此处为非活动和活动类?您的用户帐户是否为活动?请显示您的UserAccount
class代码。同时发布完整的logcat错误。不知道为什么有人否决了这个答案。考虑到这个不完整的问题,这是我们能做出的最接近的假设。Fragment类有一个getActivity()方法,您应该将UserSettingsFragment.this替换为