我正在尝试在onTouchListener中显示警告,但我无法显示它。我是新手,但我一直在关注一些好的教程无济于事。 这是代码的一部分...为什么这个警报不显示的任何想法?
mSwitcher.setOnTouchListener(new OnTouchListener()
{
public void onItemClick(AdapterView<?> parent, View v, int position, long id)
{
}
@Override public boolean onTouch(View v, MotionEvent event)
{
// the attempt at the alert
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Are you sure you want to exit?")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
MyActivity.this.finish();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
dialog.cancel();
}
});
AlertDialog alert = builder.create();
return false;
}
});
我认为我的结构还可以,但我甚至无法编译。
答案 0 :(得分:4)
尝试更改
AlertDialog alert = builder.create();
到
AlertDialog alert = builder.show();
答案 1 :(得分:2)
我更新了代码,因此括号位于正确的位置。它现在应该编译。正如JLund指出的那样,将最后一行从builder.create();
更改为builder.show();
,这应该有效。如果您希望保留builder.create();
来电,请在其后添加alert.show();
。
答案 2 :(得分:0)
您几乎完成了显示对话框提醒,但似乎您忘记显示 AlertDialog ,使用show()
的{{1}}。
将此行添加到代码的末尾,但在AlertDialog
内的return false;
之前添加。
onTouch()