0

作成したキーパッド レイアウトを使用して編集テキストの値を入力すると、カーソルが開始位置に留まり、入力した値に従ってカーソル位置が移動しません。これを実装する方法はありますか。コードは次のとおりです。

String zip;
OnClickListener clickListener = new OnClickListener() {

            @Override
            public void onClick(View v) {
                final int id = v.getId();
                if (id == R.id.button0) {
                    zip = zip + "0";
                    editZip.setText(zip);
                } else if (id == R.id.button1) {
                    zip = zip + "1";
                    editZip.setText(zip);
                } else if (id == R.id.button2) {
                    zip = zip + "2";
                    editZip.setText(zip);
                } else if (id == R.id.button3) {
                    zip = zip + "3";
                    editZip.setText(zip);
                } else if (id == R.id.button4) {
                    zip = zip + "4";
                    //editZip.requestFocus();
                    editZip.setText(zip);
                } else if (id == R.id.button5) {
                    zip = zip + "5";
                    editZip.setText(zip);
                } else if (id == R.id.button6) {
                    zip = zip + "6";
                    editZip.setText(zip);
                } else if (id == R.id.button7) {
                    zip = zip + "7";
                    editZip.setText(zip);
                } else if (id == R.id.button8) {
                    zip = zip + "8";
                    editZip.setText(zip);
                } else if (id == R.id.button9) {
                    zip = zip + "9";
                    editZip.setText(zip);
                } else if (id == R.id.buttonDel) {
                    if (zip.length() > 0) {
                        zip = zip.substring(0, zip.length()-1);
                        editZip.setText(zip); 
                    }   
                }

            }
        };
4

1 に答える 1

1

カーソル位置を移動するにはsetSelection(int)を使用します。

editZip.setSelection(editZip.getText().length());

いよいよOnClickListenerコードに入ります。


いくつかの SO 参照

  1. EditTextでカーソル位置を設定するには?
  2. EditText のテキストの末尾にカーソルを置きます
于 2013-10-28T04:40:50.853 に答える