私はAndroidのプログラミングにかなり慣れていないので、コード内のTextViewを更新するのに問題があります。設定でき、onResume()から正しく更新されます。
後で、私は電話します
startActivityForIntent(my.android.activity,0)
次に、このメソッドでsetTextを使用します。
onActivityResult(int requestCode, int resultCode, Intent returnIntent){
if (resultCode == Activity.RESULT_OK){
String myString= returnIntent.getString("mystr","empty");
myClass=myClass.interperetResults(myString); //this method returns correctly
leftText.setText(""+myClass.toString());
leftText.invalidate() //neither invalidate() or postInvalidate() changes result
}
};
TextViewクラス内で更新されているように見えますが(これをデバッグするためにSystem.outを使用しました)、画面上では更新されません。
私の知る限り、TextView.invalidate()またはTextView.postInvalidate()を呼び出す必要がありますが、どちらも効果的ではありません。私が欠けているものはありますか、それとも何ですか?私は他の投稿からのさまざまな提案の多くを試しましたが、ここでは役に立ちません。
また、rightTextオブジェクトと、返された文字列がnullの場合のifステートメントもありますが、これは問題が発生しているセクションです。私のコードの他の部分が必要な場合は、私に知らせてください。喜んでお手伝いさせていただきます。ご入力いただきありがとうございます。
編集:要求に応じて、これが私のxmlレイアウトです。問題は私が景色を見ることができないことではありませんが。onResume()でsetTextを呼び出すと、正しく表示および変更されます。とにかく、これが私のxmlコードです。変数名を一般的なものに変更したくないので、これが実際の名前です。私はプロジェクトのパートナーと協力しており、彼がxmlとレイアウトを作成したので、ここにあるすべてが何であるか完全にはわかりません。皆さんがそれを理解できることを願っています。
onCreateは次のとおりです。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
}
そしてonResume:
protected void onResume() {
super.onResume();
// The activity has become visible (it is now "resumed").
setContentView(R.layout.play);
myEquation = new Equation(getResources());
leftText = (TextView) this.findViewById(R.id.playLeftEquation);
rightText = (TextView) this.findViewById(R.id.playRightEquation);
//leftText.setText("No data");
//rightText.setText("No data"); //The textviews update fine here.
//Currently commented out because I thought that maybe this was
//overwriting the other setText, but still no change.
}
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/atomic_bckgrd"
android:columnCount="11" >
<ImageButton
android:id="@+id/playTrashCanButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_columnSpan="2"
android:layout_gravity="left"
android:layout_row="0"
android:contentDescription="@string/trash"
android:onClick="clickHandler"
android:src="@drawable/trash" />
<Button
android:id="@+id/playEditButton"
android:layout_column="2"
android:layout_row="0"
android:onClick="clickHandler"
android:text="@string/edit" />
<ImageButton
android:id="@+id/playRulesButton"
android:layout_column="4"
android:layout_columnSpan="5"
android:layout_row="0"
android:contentDescription="@string/rules"
android:onClick="clickHandler"
android:src="@drawable/rules1" />
<TextView //One of the non-updating fields
android:id="@+id/playLeftEquation"
android:layout_column="1"
android:layout_gravity="bottom"
android:layout_row="1"
android:textAppearance="?android:attr/textAppearanceMedium" />
<ImageButton
android:id="@+id/playEnterButton"
android:layout_column="2"
android:layout_gravity="bottom"
android:layout_row="1"
android:contentDescription="@string/enter"
android:onClick="clickHandler"
android:src="@drawable/enter1" />
<TextView //The other non-updating field
android:id="@+id/playRightEquation"
android:layout_column="3"
android:layout_columnSpan="6"
android:layout_gravity="bottom"
android:layout_row="1"
android:textAppearance="?android:attr/textAppearanceMedium" />
<Space
android:layout_width="52dp"
android:layout_height="1dp"
android:layout_column="0"
android:layout_row="0" />
<Space
android:layout_width="148dp"
android:layout_height="1dp"
android:layout_column="1"
android:layout_row="0" />
<Space
android:layout_width="161dp"
android:layout_height="1dp"
android:layout_column="2"
android:layout_row="0" />
<Space
android:layout_width="46dp"
android:layout_height="1dp"
android:layout_column="3"
android:layout_row="0" />
<Space
android:layout_width="36dp"
android:layout_height="1dp"
android:layout_column="4"
android:layout_gravity="fill_horizontal"
android:layout_row="0" />
<Space
android:layout_width="1dp"
android:layout_height="160dp"
android:layout_column="0"
android:layout_gravity="fill_horizontal"
android:layout_row="0" />
</GridLayout>