0

これがシナリオです。私は持っている:

ログインアクティビティ

メソッド getUsername() および setUsername() がある SESSION

ユーザー名を取得することになっている GET アクティビティ。

ログインアクティビティでログインに成功すると、次のコード行があります

public class MainActivity extends Activity {
Session obj = new Session();

そして、tryLogin() と呼ばれる別のメソッドで、私はこれを持っています

obj.setUsername(mUsername);

セッションアクティビティには、次のコードがあります。

public class Session extends Application {
String username;
int userid;


@Override
public void onCreate() {
    // TODO Auto-generated method stub
    super.onCreate();
}

public void setUsername(String user)
{
    this.username = user;
}
public String getUsername()
{
    return this.username;
}

ユーザー名を取得するアクティビティには、この行があります。

    Session obj = new Session();
    username =  obj.getUsername();

これは正しく動作しません。しかし、次のように SESSION アクティビティで「ユーザー名」を何らかの文字列に手動で設定した場合:

public class Session extends Application {
    String username = "manually set the string";

次に、GET アクティビティがユーザー名を取得します。そのため、問題をログイン アクティビティから setUsername に絞り込むのが安全だと思います。

それで、私はここで何が間違っていますか?

どうもありがとう。// Android初心者

4

2 に答える 2

1

試す:

public class Session extends Application {
     public static String username;

あなたのセッションアクティビティで。

于 2012-05-04T12:35:14.663 に答える
0

Applicationを拡張するSessionクラスのメソッドの値を次のように設定する必要があると思います

((Session) yourActivityName.getApplication()).setUserName("user Nmae");

としてアクセスします

((Session) yourActivityName.getApplication()).getUserName();
于 2012-05-04T12:38:23.623 に答える