1

ラジオ ボタン を備えたカスタム ダイアログがあります。開いたダイアログからの変更 (場合によっては) をリッスンし、そこからテキストを設定する必要があります。私は java を使用してそれを行ったので、 onCheckedChangedListener の使用方法がわかりません。それ、どうやったら出来るの 。私はアンドロイドが初めてで、あまり知りません。助けてください。

public class Availability extends Activity implements OnClickListener {
    ToggleButton override;
    TextView status;
    Button Overridestatus;
    CharSequence [] choice = {"RemoteOffice","Office","Personel mobile","Home","Mobile","Temporary","Do not Disturb","Working Remotely","Non work day","Work Day"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.availability);
        override = (ToggleButton) findViewById(R.id.tbOver);
        override.setOnClickListener(this);
        status = (TextView) findViewById(R.id.tvstatus);
        Overridestatus = (Button) findViewById(R.id.bstatus);
        Overridestatus.setOnClickListener(this);

    }

    public void onClick(View view) {
        // TODO Auto-generated method stub
        switch (view.getId()) {
        case R.id.tbOver:

            if (override.isChecked()) {

                status.setText("Override");
                Overridestatus.setText("Personal Mobile");

            } else {
                status.setText("Currently");
                Overridestatus.setText("Use Schedule - Do Not Disturb");

            }
            break;

        case R.id.bstatus:

            {
                if (override.isChecked()){
                showDialog(0);
                }
            }

            break;
        }
    }
    @Override
    protected Dialog onCreateDialog(int id) {
        // TODO Auto-generated method stub
        switch (id) {
        case 0:
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle("Select System Server");
            builder.setIcon(R.drawable.ic_btn_round_more_normal);
            builder.setPositiveButton("OK",
                    new DialogInterface.OnClickListener() {

                        public void onClick(DialogInterface dialog, int id) {
                            // TODO Auto-generated method stub
                            Intent menu = new Intent(Availability.this,MenuScreen.class);
                            startActivity(menu);

                        }
                    });
            builder.setNegativeButton("CANCEL",
                    new DialogInterface.OnClickListener() {

                        public void onClick(DialogInterface dialog, int which) {
                            // TODO Auto-generated method stub

                        }
                    });

            builder.setSingleChoiceItems(choice, -1,
                    new DialogInterface.OnClickListener() {

                        public void onClick(DialogInterface dialog, int item) {
                            // TODO Auto-generated method stub

                        }
                    });

            builder.create();
            builder.show();
        }
        return null;

    }

}
4

2 に答える 2

0

ラジオ ボタンの状態を抽出し、後で使用するためにローカル変数に保存できます。

こちらの優れた開発者ガイドを参照してください: https://developer.android.com/guide/topics/ui/dialogs.html

一度読むと、カスタム ダイアログのさまざまな要素の状態を抽出して保存する方法がわかります。

于 2012-10-16T06:21:01.250 に答える
0

次の方法でそれを行うことができます。

public class Availability extends Activity implements OnClickListener,OnCheckedChangeListener {
    ....
    @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) {
    switch(group.getId())
    {
    }
}

RadioButton を RadioGroup に入れることができます。

于 2012-10-16T06:25:18.843 に答える