私は Android 開発とこれらのフォーラムに慣れていないので、お役に立てれば幸いです。私は周りを見回して他の答えを試しましたが、どこにも行きません。
ArrayList からランダムな文字列を返す Java メソッドを作成しました。ボタンが押されたときに設定したいメイン アクティビティ レイアウト XML に 3 つの TextView 要素があります (メソッドを実行して 3 つのランダムな文字列を生成します)。
スマートフォンでアプリを実行するとクラッシュするので、明らかに重大な欠陥があります。
これが私が呼び出しているメソッドです
public void generateExercises() {
Exercise e1 = new Exercise();
Exercise e2 = new Exercise();
Exercise e3 = new Exercise();
e1.generateExercise();
e2.generateExercise();
e3.generateExercise();
RelativeLayout lView = new RelativeLayout(this);
myText1 = (TextView)findViewById(R.id.myText1);
myText1.setText(e1.getName());
myText2 = (TextView)findViewById(R.id.myText2);
myText2.setText(e2.getName());
myText3 = (TextView)findViewById(R.id.myText3);
myText3.setText(e3.getName());
lView.addView(myText1);
lView.addView(myText2);
lView.addView(myText3);
setContentView(lView);
}
//XML File
<TextView
android:id="@+id/myText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/exercise2title"
android:layout_alignBottom="@+id/exercise2title"
android:layout_alignLeft="@+id/textView1"
android:textAppearance="?android:attr/textAppearanceSmall" />
<TextView
android:id="@+id/myText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/exercise3title"
android:layout_alignBottom="@+id/exercise3title"
android:layout_alignLeft="@+id/TextView01"
android:textAppearance="?android:attr/textAppearanceSmall" />
<TextView
android:id="@+id/exercise1title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/title"
android:layout_marginLeft="39dp"
android:layout_marginTop="64dp"
android:text="@string/exercisetitle_one"
android:textAppearance="?android:attr/textAppearanceMedium" />
ありがとう
編集:「myText1」でXMLのセクションを見逃しました
<TextView
android:id="@+id/myText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/exercise1title"
android:layout_alignBottom="@+id/exercise1title"
android:layout_alignRight="@+id/title"
android:layout_marginRight="24dp"
android:textAppearance="?android:attr/textAppearanceSmall" />
編集:ご協力いただきありがとうございます。コードは現在、期待どおりに機能しています。また、XML の onclick メソッドをカスタムの onClick リスナーに置き換える必要もありました。