Android中TextView调用setText无效不显示问题

定义了一个AppCompatActivity在类中声明了一个TextView变量,并通过findViewById给变量赋值,然后通过setText给TextView赋值,结果无效。具体代码如下:
public class SetActivity extends AppCompatActivity {
private TextView tv_username;
private View view;
@Override
protected voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_set);
view =this.getLayoutInflater().inflate(R.layout.activity_set,null);
tv_username=(TextView) view.findViewById(R.id.tv_username);
tv_username.setText("案秀云打造最专业的IT方案、技术知识库");
}
在这里setText是无效不显示的,其实具体的原因很简单,View view =this.getLayoutInflater().inflate(R.layout.activity_set,null);相当于新建立了一个布局,和setContentView(R.layout.activity_set);是不一致的,所以通过tv_username=(TextView) view.findViewById(R.id.tv_username);获得TextView也不是界面上显示的。
解决方法:
1、setContentView(R.layout.activity_set);和view =this.getLayoutInflater().inflate(R.layout.activity_set,null);合二为一,改为view =this.getLayoutInflater().inflate(R.layout.activity_set,null);在前边,setContentView(view)。
2、tv_username=(TextView) view.findViewById(R.id.tv_username);去掉view改为tv_username=(TextView) findViewById(R.id.tv_username)
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凡梦_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值