0

这是场景。我有:

登录活动

一个会话,我有方法 getUsername() 和 setUsername()

应该获取用户名的 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 Activity 获取用户名就好了。因此,我认为将问题范围缩小到登录活动中的 setUsername 是安全的。

那么我在这里做错了什么?

非常感谢。// 安卓初学者

4

2 回答 2

1

尝试:

public class Session extends Application {
     public static String username;

在您的会话活动中。

于 2012-05-04T12:35:14.663 回答
0

我认为你应该在 Session 类中设置方法的值,它将 Application 扩展为

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

并以

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