Android 如何在AlertDialog中调用AlertDialog?
我有以下代码:Android 如何在AlertDialog中调用AlertDialog?,android,android-alertdialog,Android,Android Alertdialog,我有以下代码: public class Example { String sp,st; SQLiteDatabase database, database2; void func() { new AlertDialog.Builder(view.getContext()) .setIcon(android.R.drawable.ic_dialog_alert) .setTitle("Confirm") .setMessage("Are you sure?")
public class Example
{
String sp,st;
SQLiteDatabase database, database2;
void func()
{
new AlertDialog.Builder(view.getContext())
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle("Confirm")
.setMessage("Are you sure?")
.setPositiveButton("Yes", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which) {
String st = editTextSt.getText().toString();
String sp = editTextSp.getText().toString();
database2 = new SQLiteDbHelper(this);
database = database2.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(SQLiteDbHelper.COLUMN_NAME_SP, sp);
values.put(SQLiteDbHelper.COLUMN_NAME_ST, st);
long insertId = database.insert(SQLiteDbHelper.TABLE_NAME, null, values);
//I would like to call it here
}})
.setNegativeButton("No", null)
.show();
}
我想在上面的AlertDialog中调用此AlertDialog:
new AlertDialog.Builder(this)
.setMessage("Saved!")
.setNeutralButton("OK", null)
.show();
我怎么做
如果我只是把它放在我想放的地方,我会得到一个错误,即“构造函数AlertDialog.Builder(新的DialogInterface.OnClickListener(){})未定义”。试试这个:
new AlertDialog.Builder(Example.this)
.setMessage("Saved!")
.setNeutralButton("OK", null)
.show();
public class Example extends Activity
new AlertDialog.Builder(view.getContext())
.setMessage("Saved!")
.setNeutralButton("OK", null)
.show();
假设类示例
是一个活动
,这将起作用
即:
new AlertDialog.Builder(Example.this)
.setMessage("Saved!")
.setNeutralButton("OK", null)
.show();
public class Example extends Activity
new AlertDialog.Builder(view.getContext())
.setMessage("Saved!")
.setNeutralButton("OK", null)
.show();
否则,请使用以下内容:
new AlertDialog.Builder(Example.this)
.setMessage("Saved!")
.setNeutralButton("OK", null)
.show();
public class Example extends Activity
new AlertDialog.Builder(view.getContext())
.setMessage("Saved!")
.setNeutralButton("OK", null)
.show();
一旦您进入ClickListener对象
内,此
将引用该对象,而不是像它在该对象外所做的活动,假设示例
是一个可能不基于您的代码的活动
要修复它,您只需要使用另一种方式将上下文传递到构建器constructor
要创建您使用的第一个生成器,请按如下方式执行:
new AlertDialog.Builder(view.getContext())
使用
view.getContext()
获取所需的上下文。您应该能够使用第二个构建器以相同的方式完成此操作。no,“不能在不同方法中定义的内部类中引用非最终变量视图”@JohnnyAlmi您从何处获得视图
?试着把它做成最后一个。此外,我强烈建议您在深入Android之前,先温习一下Java编程。这是一个常见的问题,如果您多练习纯Java,您就会知道如何解决这个问题。在没有良好java基础的情况下尝试在Android上工作只会让人沮丧,另一个答案是可行的。谢谢你抽出时间!我有很好的C/C++/C#和基本的Java知识,但它有时会被卡住。我一定会提高我的Java知识!谢谢很好用!我想这是我第一次不尝试这样做。我讨厌当傻瓜。