我有一个有趣的事实活动,从活动中获取随机事实并将其显示在布局上。但是我无法访问活动中的 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"
/>
答案 0 :(得分:2)
您必须以这种方式访问它:
TextView factTextView = findViewById(R.id.facts_text_view);
答案 1 :(得分:1)
您正面临此问题,因为您没有正确访问textview
更改您的文字视图,如下所示
TextView factTextView = findViewById(R.id.facts_text_view);