0

ここにビューフリッパーxmlがあります

<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/flipper"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<include android:id="@+id/first"  layout="@layout/simp2" />
<include android:id="@+id/second"  layout="@layout/simp2adv" />
</ViewFlipper>

simp2.xml と simp2adv.xml の両方にテキストビューがあります。両方に同じコンテンツが表示されるようにするにはどうすればよいですか? 両方のテキストビューに同じ ID を指定しようとしましたが、編集されるのは 1 つだけです。もう一方は無視されます。

4

1 に答える 1

0

アクティビティ クラスで switch ステートメントを作成して解決しました。例えば:

switch (flipper.getDisplayedChild()) {
    case 0:
        focusEquationBox(R.id.equation2);
        var.dataBox.setText("");
        break;
    case 1:
        focusEquationBox(R.id.equation3);
        var.dataBox.setText("");
        break;
    case 2:
        focusEquationBox(R.id.equation4);
        var.dataBox.setText("");
        break;
    case 3:
        focusEquationBox(R.id.equation);
        var.dataBox.setText("");
        break;
    }

void focusEquationBox(int id) {
    var.dataBox = (EditText) findViewById(id);
}

そうすることで、表示されている textView のみを変更できます。ビューを反転すると、表示されている textView の内容が String 変数に保存され、次に表示されている textView に読み込まれます。

于 2012-05-28T01:12:02.460 に答える