Почему вы создаете TextView в коде:
TextView tv = new TextView(this);
Почему бы не иметь TextView в вашем XML-файле (facts.xml)? Возможно, я не понимаю ваш вопрос. Не могли бы вы уточнить, что вы подразумеваете под "я хочу, чтобы он отображался с моим макетом в файле XML".
Если вы хотите, чтобы TextView был определен в .xml, добавьте элемент <TextView>
в файл facts.xml:
<xml version="1.0" encoding="utf-8">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, I am a TextView" />
</LinearLayout>
Так что вместо этого кода:
Random generator= new Random();
int num;
String[] quotes;
quotes= new String[15];
quotes[0]= "test1)";
quotes[1]= "test2";
TextView tv = new TextView(this);
num=generator.nextInt(15);
tv.setText(quotes[num]);
setContentView(R.layout.facts);
Вы должны иметь:
Random generator= new Random();
int num;
String[] quotes;
quotes= new String[15];
quotes[0]= "test1)";
quotes[1]= "test2";
TextView tv = (TextView) findViewById(R.id.factslist);
num=generator.nextInt(15);
tv.setText(quotes[num]);
Видите ли вы, как вы получаете ссылку на TextView в своем XML-файле на основе его идентификатора, а затем устанавливаете значение этого идентификатора? Я также не думаю, что вам нужно называть это дважды:
setContentView(R.layout.facts);