【问题标题】:Android Studio - TextView Not updating after change has been made in databaseAndroid Studio - 在数据库中进行更改后,TextView 不更新
【发布时间】:2016-03-15 21:04:41
【问题描述】:

我是这种事情的新手,遇到了一个我找不到解决方案的问题,所以我来这里寻求您的帮助。

我正在尝试做的事情:

  1. 在数据库中注册一个新用户
  2. 检查它是否有效。
  3. 更改用户或通过
  4. 在应用上显示更改后的用户名。

很遗憾,第 4 步不起作用。假设我注册了用户和密码 123、123。我检查它们以确保它有效(从应用程序登录),从应用程序注销,转到数据库表,将用户编辑为 321 返回应用程序。使用用户 321 和密码 123 登录。在 MainActivity 中,显示将与第一个相同,用户/密码 123 而不是用户 321 和密码 123。

这是处理来自 MainActivity 类的用户/通行证的部分

  txtName = (TextView) findViewById(R.id.name); //name
    txtEmail = (TextView) findViewById(R.id.email);
    btnLogout = (Button) findViewById(R.id.btnLogout);
  //  setting toolbar
    Toolbar toolBar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolBar);


    session = new SessionManager(getApplicationContext());

    if (!session.isLoggedIn()) {
        logoutUser();
    }

    String name = AppController.getString(getApplicationContext(), "name"); //name
    String email = AppController.getString(getApplicationContext(), "email");
    txtName.setText(name); //name
    txtEmail.setText(email);

我面临的问题是对数据库进行更改后用户名没有更新

【问题讨论】:

    标签: java android json xml textview


    【解决方案1】:

    尝试将该代码放在 MainActivity 的 onResume 方法中。当您返回 Activity 时,并不总是调用 onCreate 方法。

    【讨论】:

    • 它没有帮助我,在 onResume 方法中添加代码只是在运行应用程序后恢复了 mainactivity。应该在 MainActivity 中显示的用户名仍然是旧用户名(与当前在数据库中的用户名不同)。
    • 编辑:也许这可以帮助您更好地理解我的问题。 link
    • 我想 AppControler.getString() 从 SharedPreferences 中检索名称,而不是从您的数据库中检索名称。你更新这个值吗?
    • 是的,你是对的,它从 SharedPreferences 中检索名称,正如我所见,它确实使用 sp.edit().putString(key, value).commit( );. sessionmanagerappcontroller
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-12
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    相关资源
    最近更新 更多