Android 在其他类中获取某个activity类中的布局和Id

layout为布局,布局里面可以放任何空间,获取布局控件可以用findViewById方法获取。 
//获取MainActivity中LayoutInflater (上下文参数)
LayoutInflater factorys = LayoutInflater.from(MainActivity.this);

//获取View 对象
View view= factorys.inflate(R.layout.layout, null);

//获取 TextView 控件
TextView textView= (TextView) view.findViewById(R.id.tv1);

textView.setText("hi");

------------ -.- ----------------对于setText无效地问题:---------------------^.^---------------

原文:https://blog.csdn.net/mpegfour/article/details/78328054 

在这里setText是无效不显示的,其实具体的原因很简单。

View view= factorys.inflate(R.layout.layout , null);相当于新建立了一个布局,

和原来的activity中setContentView(R.layout.layout);是不一致的,

所以通过TextView textView= (TextView) view.findViewById(R.id.tv1);获得TextView也不是界面上显示的。
----------------------------------------------------------------------------------------------------------

这里提供一个疑问:
是否要刷新下原来的布局呢?

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值