如何在Android中将最终字符串从一个活动传输到另一个活动?
问题描述:
我知道这一点,它工作正常如何在Android中将最终字符串从一个活动传输到另一个活动?
Intent i1 = new Intent(Login.this, Welcome.class);
i1.putExtra("username","the name");
startActivity(i1);
,这在未来的布局:
String username = getIntent().getStringExtra("username");
,但我需要转院一个最终的字符串,我试过,但它不工作:
public static final String ADMIN_USERNAME= "user";
Intent intent = new Intent(Login.this,SignUp.class);
intent.putExtra("admin_username",ADMIN_USERNAME);
startActivity(intent);
,这在未来的布局:
public final String ADMIN_USERNAME= getIntent().getStringExtra("admin_username");
即时得到这个错误:
Attempt to invoke virtual method 'java.lang.String android.content.Intent.getStringExtra(java.lang.String)' on a null object reference
答
在声明字符串常量静态这样的:
public static final String ADMIN_USERNAME= "user";
你并不需要使用额外的意图来访问值在另一个活动,直接访问ADMIN_USERNAME字符串常量:
if (someString.equals(MyActivity.ADMIN_USERNAME)) {
//Do something....
}
答
您的意图为空。它在生命周期早期的一个电话
String username = getIntent().getStringExtra("admin_username");
,请务必让这条线的onCreate如果你在室内onAttach
调用另外,还要确保你的关键是正确的。请注意我固定它也为“admin_username”
好运
埃姆雷
你能否提供更多信息?例如,你正在采取什么错误?也许全班让我们来检查你的命名空间范围? –
对于像那样的字符串常量,只需将其设置为静态,并在其他活动中直接访问它。 –
它按照我知道的工作 – jagapathi