ログインとメインファイルで構成されるAndroidフォームがあります。私が聞きたいのは、現在のユーザー名を取得してメインのxmlファイルに表示する方法です。
たとえば、「james01」としてログインし、ログインボタンをクリックすると、次のページにリダイレクトされ、次のページに「Welcomejames01」が表示されます。
私はちょっとこれについてあなたの助けが必要です。
答えはいつでも大歓迎です^^
2つのオプションがあります
インテントを使用する
設定の使用
インテントを使用する
パラメータを次のacytivityに渡します
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.
。これは簡単で、もう1つ
null
プリファレンスを使用している場合は、アプリからログアウトするときにputstringを忘れないでください
これを行う最も簡単な方法は、アクティビティの開始に使用しているインテントの2番目のアクティビティにユーザー名を渡すことです。
Intent intent = new Intent(getBaseContext(), SecondActivity.class);
intent.putExtra("USERNAME", username);
startActivity(intent);
次に、2番目のアクティビティで:
String username = getIntent().getStringExtra("USERNAME");
Androidアプリケーションのアクティビティ間でデータを渡すにはどうすればよいですか?
LoginAcvtivity.java
intent.putExtra("USERNAME",_userText.getText().toString());
Destinantion class.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に設定します。