我的快速对话不起作用?
问题描述:
我是新来的android开发领域,所以尝试了AlertDialog
框,我有麻烦了。 这是我的部分代码AlertDialog
。我的快速对话不起作用?
public void teacherLogin(View view)
{
AlertDialog.Builder alert = new
AlertDialog.Builder(getApplicationContext());
alert.setTitle("Login");
alert.setPositiveButton("Login", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(), "you clicked login",
Toast.LENGTH_SHORT).show();
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(), "Cancelled",
Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog = alert.create();
dialog.setCancelable(false);
dialog.setCanceledOnTouchOutside(false);
dialog.show();
}
这里是Button
我的XML代码调用teacherLogin()方法
<Button
android:id="@+id/teacher_loginbtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="28dp"
android:onClick="teacherLogin"
android:text="Teacher's Login"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="22dp"
android:layout_marginEnd="22dp" />
答
试试这个我的朋友
AlertDialog.Builder alert = new AlertDialog.Builder(this);
+0
简单而直接。刚试过这个,它就像一个魅力。 –
+1
谢谢你的提示! –
答
尝试改变getApplicationContext()来YourActivity.this
public void teacherLogin(View view)
{
AlertDialog.Builder alert = new
AlertDialog.Builder(YourActivity.this);
alert.setTitle("Login");
alert.setPositiveButton("Login", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(YourActivity.this, "you clicked login",
Toast.LENGTH_SHORT).show();
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(YourActivity.this, "Cancelled",
Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog = alert.create();
dialog.setCancelable(false);
dialog.setCanceledOnTouchOutside(false);
dialog.show();
}
尝试changi ng getApplicationContext()到YourActivity.this –