3

私は AlertDialog を持っていて、そこに EditText を入れましたが、私の EditText が次の入力のみを受け入れるようにしたいです:
(0,1,2,3,4,5,6,7,8,9,.,,)

どうすればこれを達成できますか?

これが私のコードです:

final AlertDialog.Builder alert = new AlertDialog.Builder(Treatment.this);
alert.setTitle("Weigthed Mean!");
alert.setIcon(R.drawable.droid);

Bundle b = getIntent().getExtras();
final TextView sum = (TextView) findViewById(R.id.fakeDB);
sum.setText(b.getCharSequence("input"));

final EditText x = new EditText (Treatment.this);
final EditText y = new EditText (Treatment.this);

x.setText(sum.getText().toString());
y.setHint("Enter the weights to the x values");

LinearLayout ll=new LinearLayout(Treatment.this);
ll.setOrientation(LinearLayout.VERTICAL);

ll.addView(x);
ll.addView(y);
alert.setView(ll);

alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {                
        alert.setOnCancelListener(null);
    }
});

alert.create();
alert.show();
4

3 に答える 3

3

タイプをプログラム的に設定するには、次をEditText試してください。

x.setInputType(InputType.TYPE_CLASS_NUMBER);

クラスをフラグ付きで使用して、次のように小数を作成できます。

x.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);

ただし、「、」は追加されませんが、@CodeMonkeyは正しいです

フラグとクラスのタイプの詳細については、入力タイプを確認してください

于 2013-11-11T03:01:27.243 に答える
2

@Osama はこちらで正しい軌道に乗っています。キーボードの種類の変更について詳しくは、こちらをご覧ください。EditTextを設定することで、どの文字を表示させたいかを指定することもできますKeyListener:

x.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);
x.setKeyListener(DigitsKeyListener.getInstance("0123456789.,"));

または似たようなもの。

于 2013-11-11T03:53:04.720 に答える
0
final EditText x = new EditText (Treatment.this);
final EditText y = new EditText (Treatment.this);

x.setKeyListener(DigitsKeyListener.getInstance("0123456789.,"));
y.setKeyListener(DigitsKeyListener.getInstance("0123456789.,"));
于 2013-11-11T04:05:24.077 に答える