为什么我无法访问活动中的facts_text_view内容?

时间:2018-04-18 16:17:09

标签: java android layout

我有一个有趣的事实活动,从活动中获取随机事实并将其显示在布局上。但是我无法访问活动中的 fact_text_view ,即使它已在布局中定义。我怎样才能改善这个?

活动代码

public class FunFactsActivity extends AppCompatActivity {
    Random r =new Random();
    List list;

    @Override
    protected void onCreate( Bundle savedInstanceState) {
        setContentView(R.layout.activity_fun_facts);
        super.onCreate(savedInstanceState);
        list = new ArrayList<>();
        //adds facts to the list.
        for (int i = 0; i < new Database().answers.length; i++) {
            list.add(new Database().facts[i]);

        }

        Collections.shuffle(list);
        String fact = String.valueOf(r.nextInt(list.size()));
        TextView factTextView = findViewById(facts_text_view);
        factTextView.setText(fact);

    }
}

布局代码

<TextView
    android:id="@+id/facts_text_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="16dp"
    android:layout_marginTop="54dp"
    android:text="0"
    />

2 个答案:

答案 0 :(得分:2)

您必须以这种方式访问​​它:

TextView factTextView = findViewById(R.id.facts_text_view);

答案 1 :(得分:1)

您正面临此问题,因为您没有正确访问textview

更改您的文字视图,如下所示

TextView factTextView = findViewById(R.id.facts_text_view);