我有这段代码:
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(new DialogInterface.OnClickListener(){})未定义”。
答案 0 :(得分:1)
试试这个:
new AlertDialog.Builder(Example.this)
.setMessage("Saved!")
.setNeutralButton("OK", null)
.show();
假设班级Example
是Activity
。
<强>即强>:
public class Example extends Activity
否则,请使用此:
new AlertDialog.Builder(view.getContext())
.setMessage("Saved!")
.setNeutralButton("OK", null)
.show();
答案 1 :(得分:0)
一旦你进入ClickListener对象this
将引用该对象,而不是它之外的活动,假设Example
是一个Activity,它可能不是基于你的代码
要修复它,您只需使用不同的方法将上下文传递给构建器构造函数。
创建你使用的第一个构建器,你这样做:
new AlertDialog.Builder(view.getContext())
使用view.getContext()
获取您需要的上下文。您应该能够以与第二个构建器相同的方式执行此操作。