0

一度と毎日という 2 つのラジオ ボタンがあります。一度クリックすると 1 つの画像が読み込まれ、別のボタンをクリックすると別の静止画像が表示されます。すべて正常に動作します。ラジオボタンのIDを取得し、バックグラウンドリソースを設定することで、画像をロードするラジオボタンを設計しました。しかし今、編集テキストとボタン フィールドを使用して画像を構成する方法について混乱しています。誰かがこのタスクを達成するのを手伝ってくれますか?

public void onCheckedChanged(RadioGroup group, int checkedId) {

        if (checkedId == R.id.once) {
              int imageId = (Integer) once.getTag();

                imgview.setBackgroundResource(imageId);

        } else if (checkedId == R.id.daily) {
             int imageId = (Integer) daily.getTag();

                imgview.setBackgroundResource(imageId);

        } 
    } 

これは私のコードです。私の要件は、ラジオボタンをクリックしたときにロードされた画像の edittext フィールドとボタンフィールドにアクセスすることです。

4

3 に答える 3

1

あなたの質問を完全に理解しているかどうかわかりません。画像の代わりにテキストビューとボタンを表示/非表示にしたいですか?

その場合は、テキストビューとボタンを含む LinearLayout を作成し、属性を設定するだけです

android:visibility="gone"

LinearLayout タグで。

次に、コードを介して、次のように可視性を設定できます。

LinearLayout ll=(LinearLayout)findViewById(R.id.linearlayoutid);
ll.setVisibility(View.VISIBLE / View.GONE)

これで質問の答えが得られない場合は、詳細をお知らせください

于 2013-10-25T12:24:53.070 に答える
0

IDがある場合はこれを試してください。

public void onCheckedChanged(RadioGroup group, int checkedId) {

    if (checkedId == R.id.once) {
          int imageId = (Integer) once.getTag();

            imgview.setBackgroundResource(imageId);
            EditText et = (EditText) imgview.findViewById(R.id.textFieldId);
            Button btn = (Button) imgview.findViewById(R.id.buttonId);

    } else if (checkedId == R.id.daily) {
         int imageId = (Integer) daily.getTag();

            imgview.setBackgroundResource(imageId);
            EditText et = (EditText) imgview.findViewById(R.id.textFieldId);
            Button btn = (Button) imgview.findViewById(R.id.buttonId);
    } 
} 

それ以外の場合は使用できます

EditText et = (EditText) imgview.getChildAt(0);
Button btn = (Button) = (Button ) imgview.getChildAt(1);

ID がない場合は、ビューを作成した順序に注意してください。

線形レイアウトの背景を変更する方法

必要に応じて、これを onCheckedChanged の if または else ブロックに入れます。

LinearLayout ll=(LinearLayout)findViewById(R.id.linearlayoutid);
ll.setVisibility(View.VISIBLE/View.GONE);
ll.setBackgroundResource(imageId);
于 2013-10-25T12:39:16.217 に答える