登录后如何在界面显示用户名?accountinfo类代码返回null求助
问题分析与修复方案
嘿,咱们来捋捋你代码里的问题哈——你现在直接把TextView对象name拼到字符串里了,而不是获取它实际显示的文本内容,这就导致输出了Welcome null。另外你的变量命名有点绕,nameTV对应布局里的R.id.name,name对应R.id.email,很容易搞混,咱们一步步来修复:
核心问题&修复步骤
- 错误点:你拼接的是
TextView对象本身,不是它的文本内容,需要调用getText().toString()来取出控件里的文字 - 优化点:给变量改个见名知意的名字,避免后续自己都搞混
修复后的完整代码
public class AccountInfo extends AppCompatActivity { // 调整变量名,让逻辑更清晰 TextView welcomeDisplayTV; TextView userEmailTV; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_accountinfo); // 绑定布局里的控件 welcomeDisplayTV = findViewById(R.id.name); // 用来显示欢迎语的控件 userEmailTV = findViewById(R.id.email); // 存储用户名的邮箱控件 // 获取邮箱控件里的用户名文本,拼接到欢迎语中 String userName = userEmailTV.getText().toString(); welcomeDisplayTV.setText("Welcome " + userName); } }
额外小提醒
- 要确保
R.id.email这个TextView在登录后已经被正确设置了用户名内容哦,如果这个控件本身就没有文本,那还是会显示Welcome后面空着或者null~ - Java类名建议首字母大写(比如
AccountInfo而非accountinfo),这是通用的命名规范,后续维护代码会更顺手
内容的提问来源于stack exchange,提问作者XXXyoudontsayXXXX
相关产品推荐
相关产品推荐

