确定, 我有一个应用程序,为输入值创建一个AlertDialog。所有值都是数字类型,我使用以下代码来获取输入。
public class DialogWithInputBox extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final AlertDialog.Builder alert = new AlertDialog.Builder(this);
final EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
alert.setView(input);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int whichButton)
{
String value = input.getText().toString().trim();
Toast.makeText(getApplicationContext(), value,
Toast.LENGTH_SHORT).show();
}
});
alert.setNegativeButton("Cancel",
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int whichButton)
{
dialog.cancel();
}
}
);
alert.show();
}
}
我的问题是,这不适用于Android 1.6,但我希望我的应用能够在1.6上运行。有没有其他方法可以在1.6的代码中执行此操作?我没有AlertDialog的布局,所以我无法在那里设置它。
答案 0 :(得分:2)
我听说过关于数字的InputTypes发生了一些奇怪的事情。尝试查看手机类型是否有效:
input.setInputType(InputType.TYPE_CLASS_PHONE);
答案 1 :(得分:1)
您可以使用setInputFilters(InputFilter [])方法完成目标,并传入DigitsKeyListener。
http://developer.android.com/reference/android/text/method/DigitsKeyListener.html