A界面有一个edittext,在A界面启动的时候,显示login界面login界面登陆成功后如何将A界面的edittext显示当前登陆的用户名呢??大家有几种方法呢??我的办法是将A的实例传入login,在login中对A的edittext属性进行赋值,,我感觉这样不太好,二个类耦合度太大,有没有好的办法呢?

解决方案 »

  1.   

    如果使用的是两个activity的话,可以使用intent.puteExtra
      

  2.   

    顶一下,不是2个activity是1个activity另一个是dialog顶一下
      

  3.   

    login 登录成功后,需要保存登录状态吗?一般都要吧,把登录信息保存到某处,
    当焦点回到A界面主体时,载入登录信息。
    这样是不是偶合度就没有了。
      

  4.   

     全局变量吧,dismiss Dialog的时候判断一下,就可以对text赋值了
      

  5.   

    要么保存到sharedPreference中,要么通过intent.putExtra传递数据,A本身就是activity,传递A的实例的话不是很好吧,貌似没有这么传的
      

  6.   


    嗯,就是这样,一般保存在sharedPreference中,或者Sqllite都行。
      

  7.   

    用sharedPreference保把存我感觉很好  前面就做你这样的的开始时传过去的值,但是你在深入一层返回就会丢失,用sharedPreference先保存用的时候在取出来就不会丢失了
      

  8.   

    感谢各位前辈,统计出如下方案要:(1)sharedPreference
    (2)application
    (3)广播
    (4)sqlite其实这个问题如果扩展一下想一想,如果不是登陆的情况,是修改数据的情况,点击Button弹出1个dialog然后输入最新的值,关闭后要在dialog的下面的activity中取出最新的值,这时候sharedPreference和sqlite按照我现在所学的知识就不合适了,他们都是永远的持久化方案,这时我感觉广播可以合适,application我没有用过,不知道和web中的application一样不一样,如果和web中的application一样,我也认为不合适,广播很像web中的request对象,临时的存储一些数据,处理完成后就释放了