定义了一个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)