0

私はAndroid開発を始めたばかりで、スイッチをオフに設定した後、editTextを編集不可にしようとすると問題が発生します。問題は、スイッチ機能が機能しないことです。オフに設定した後でも、テキストを編集できます。これが私のコードです:

public void onCreate(Bundle savedInstanceState) {
        this.getWindow().setSoftInputMode(
                WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_profile);
        final View switch1 = (Switch) findViewById(R.id.editSwitch);
        final EditText mEdit = (EditText) findViewById(R.id.bioTxt);
        switch1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                if (switch1.getContext().toString().equals("On")) {

                    mEdit.setEnabled(true);
                }

                else if (switch1.getContext().toString().equals("Off")) {

                    EditText mEdit = (EditText) findViewById(R.id.bioTxt);
                    mEdit.setEnabled(false);
                }
            }
        });

    };
}
4

2 に答える 2

2

SwitchisChecked()スイッチが「オン」の位置にある場合にtrueを返す関数があります。したがって、onClickメソッドは次のようになります。

public void onClick(View v) {
    mEdit.setEnabled(switch1.isChecked());
}
于 2013-03-25T02:52:36.330 に答える
0
switch1.getContext().toString()

ここで何をしようとしていますか?ビューのgetContextは、それを所有するアクティビティを返します。「オン」または「オフ」になるものは返されません。他の関数を呼び出す必要があります。カスタムビューのように見えるので、どちらかわかりません。

于 2013-03-25T02:46:19.273 に答える