我有一个由登录名和主文件组成的 android 表单。我想问的是如何获取当前用户名并将其显示在主xml文件中。
例如,我以“james01”的身份登录,当我点击登录按钮时,我将被重定向到下一页,在下一页有“Welcome james01”
我有点需要你的帮助。
随时欢迎回答^^
将有两种选择
使用意图
使用首选项
使用意图
将参数传递给下一个活动
Intent n = new Intent(login.this, Home.class);
n.putExtra("UserName", _username);
startActivity(n);
在您的主页中:
Bundle extras = getIntent().getExtras();
if(extras!=null)
{
userName.setText("Welcome to "+extras.getString("UserName"));
}
使用首选项
在您的登录页面
preferences = PreferenceManager.getDefaultSharedPreferences(this);
Editor edit = preferences.edit();
edit.putString("pref_userName", userName);
edit.commit();
在您的主页中
pref_userName = preferences.getString("pref_userName", "n/a");
userName.setText("Welcome to "+pref_userName);
如果您有更多活动并想在所有活动中显示用户名,那么我建议使用Preferences.
所以这很简单,还有一件事是
null
如果您正在使用首选项,那么当您从应用程序注销时不要忘记输入字符串
最简单的方法是将用户名传递给您用于启动活动的意图中的第二个活动:
Intent intent = new Intent(getBaseContext(), SecondActivity.class);
intent.putExtra("USERNAME", username);
startActivity(intent);
然后在第二个活动中:
String username = getIntent().getStringExtra("USERNAME");
LoginAcvtivity.java
intent.putExtra("USERNAME",_userText.getText().toString());
目的地类.java
String username = getIntent().getStringExtra("USERNAME");
final TextView textViewToChange = (TextView) findViewById(R.id.username);
textViewToChange.setText(username);
在你的 xml 创建一个 < texview
android:id="@+id/username"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textStyle="normal|bold|italic" />
这是我正在开发的应用程序的一个示例。
Intent i = new Intent(currentActivity.this,NextActivity.class);
i.putExtra("name",name.getText.toString());
StartActivity(i);
获取名称 NextActivity.class
Intent i = getIntent();
String name = i.getStringExtra("name");
并将此名称设置为 textview 或 toast。