JAVAの質問です。 SubクラスのところにあるTextViewの内容を、 Mainクラスから書き換えたいのですが、可能でしょうか??
JAVAの質問です。 SubクラスのところにあるTextViewの内容を、 Mainクラスから書き換えたいのですが、可能でしょうか?? ■Sub.java (Sub.xml) にあるTextViewのテキストの内容を Main.javaから書き換えようとすると、 Sub.xmlの画面が消える(落ちる)てしまうのですが?どうした。。。 ■Sub.java にて private TextView t1; t1 = (TextView) findViewById(R.id.t1); t1.setText("これは、正常に表示できる”); だけど、Sub.java から、Main.javaの関数(メソッド??)を呼びだすこと はできているのですが、このなかで、 private TextView t2; t2 = (TextView) findViewById(R.id.t1); t2.setText(”これに書き換えたいけど、画面が消えちゃう”); として、書き換えようとすると、ダメでした。何か手がないかなと 画面にはSub.xmlが映っていて、Main.javaの該当箇所を呼びだして、そこで、計算した値を、Sub.xmlのTextViewのテキストの内容に書込みしたいのですが。 分かりにくくてすみません。
ベストアンサー
Sub.java⇒画面クラス Main.java⇒計算クラス って事です? なら、 Main.javaで行ってる計算メソッドに戻り値を持たせて、計算結果を返すようにする Sub.java側で String 結果 = Main.計算(); private TextView t1; t1 = (TextView) findViewById(R.id.t1); t1.setText(結果); ってします。 通常、表示文字の書き換えとか、画面を変化させる処理は画面クラス(Sub.java)で完結するように設計します
有難うございます。 Main.java⇒計算クラスでの計算が、非同期で終わるので、 このイベント(計算がおわったこと)を Sub.java側で。認識させる方法が、わからないです。 現状は、Sub.java側で、ボタンをなんかいも押して、 非同期の計算が終われば、その値を表示できるのですが、、 Main.java側で計算が終わったときに、Main.javaは、計算終了を認知できるので、ここで、 TextViewの値を変えようと思ったのです、、、、Sub.java側で、計算終了を認知させる方法を考えないといけないでしょうか。
質問者からのお礼コメント
有難うございました
お礼日時:6/7 0:17