【发布时间】:2011-05-04 17:42:25
【问题描述】:
好的, 我有一个为输入值创建 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 的布局,所以我不能在那里设置它。
【问题讨论】:
-
我看到的所有方法似乎都是在 API 4 之前定义的......这意味着它应该可以使用 1.6。您是否在项目首选项中设置了正确的 API 级别,以确保问题在此代码中?
-
另外,“不起作用”是什么意思?您在哪里/遇到什么错误?
-
键盘即将启动,但它处于文本模式而不是数字模式。
标签: android dialog android-layout