大海话语 2021-12-06 17:07 采纳率: 87.6%
浏览 40
已结题

如何实时改变登录后,对应的用户名改变

我现在做一个用户登录后,将名称存储,再将其显示在相应的控件当中,比如说就一个TextView,但是,现在只能解析出来后,再重新启动一次App 才能将用户名呀这些的显示出来哈。
不知道怎样做,可以实时的改变其得到的Text。
我想是广播来发送吗?如果是这样的话,该怎么做呢?
java代码昵称就是用户名

//昵称
        TextView nick_name = view.findViewById(R.id.tuzhu_nickname_tv);
        SharedPreferences sp = getActivity().getSharedPreferences("username", Context.MODE_PRIVATE);
        String userName = sp.getString("username", null);
        nick_name.setText(userName);//设置昵称

xml中

 <TextView
                android:id="@+id/tuzhu_nickname_tv"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20dp"
                android:layout_toRightOf="@id/tuzhu_head_portrait001"
                android:text="昵称"
                android:textColor="@color/grey"
                android:textSize="20dp" />

  • 写回答

3条回答 默认 最新

  • hua-sky 2021-12-06 17:55
    关注

    显示用户名是在登录成功后启动的活动里的么,那就把设置显示用户名的代码块写成函数(例如函数名为onRefresh),onCreate时候调用一次,同时注册一个广播或者EventBus的监听,监听里调用onRefresh,需要触发更新用户信息显示的时候,就通过广播或者EventBus发送告知

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月16日
  • 已采纳回答 12月8日
  • 创建了问题 12月6日

悬赏问题

  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入
  • ¥20 XP系统在重新启动后进不去桌面,一直黑屏。
  • ¥15 opencv图像处理,需要四个处理结果图
  • ¥15 无线移动边缘计算系统中的系统模型
  • ¥15 深度学习中的画图问题
  • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条
  • ¥15 Python报错怎么解决
  • ¥15 simulink如何调用DLL文件
  • ¥15 关于用pyqt6的项目开发该怎么把前段后端和业务层分离
  • ¥30 线性代数的问题,我真的忘了线代的知识了