在java代码中更改textView导致崩溃/无法正常工作

时间:2017-05-31 00:34:23

标签: java android android-studio textview widget

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    String test = "test";
    TextView text = (TextView) findViewById(R.id.textView);
    text.setText(test);

    setContentView(R.layout.activity_main);
}

问题始于一个片段,我尝试了所有StackOverflow解决方案都没有用,所以我做了一个新的构建,现在我只是想让它在MainActivity中运行。有人可以解释为什么这段代码不会更新textView,以及为什么它会导致崩溃。

注意:我尝试制作自己的setText()方法,我尝试过使用其他更安全的地方的字符串和字符数组,我已经在setContentView()之前和之后移动了代码,如果是只是另一种以不同的方式对上述^进行编码的方式,我可能已经尝试过了。我尝试的每件事都会产生相同的结果。这让我相信解决方案不仅仅是在上面的代码中,而是忽略了其他一些东西,可能只是一个简单的修复。谢谢!

编辑:这是我的xml,我的新生CS感觉到看到了android:text =""线。

    <TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView"
    app:layout_constraintLeft_toLeftOf="parent"

1 个答案:

答案 0 :(得分:0)

尝试此代码您必须在调用findViewById方法

之前调用setcontentView方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String test = "test";
TextView text = (TextView) findViewById(R.id.textView);
text.setText(test);


}