[英]issue with alert dialog box, due to it not recognizing the initiation of the alert box
我正在嘗試創建一個對話框,單擊該圖像時將顯示該對話框,但是我的代碼似乎存在一些問題。 代碼如下所示。 我已經完成了對話框的導入,但是似乎不起作用,因為在啟動新對話框時出現錯誤。
ImageButton ib = (ImageButton)findViewById(R.id.imageButton1);
ib.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog ad = new AlertDialog.Builder(this)
.setMessage("Blah blah blah.\n Fine pring.\n Do you accept all our terms and conditions?")
.setIcon(R.drawable.ic_launcher)
.setTitle("Terms of Service")
.setNeutralButton("back", this)
.setCancelable(false)
.create();
ad.show();
}
});
問題是您在網上this
的引用
AlertDialog ad = new AlertDialog.builder(this)
實際上是指不擴展Context的匿名內部類View.OnClickListener
。 所以,就在您的上方
ib.setOnClickListener(new View.OnClickListener() {
使某事生效
final Context context = this;
然后將aforemention builder調用更改為read
AlertDialog ad = new AlertDialog.builder(context)
即
ImageButton ib = (ImageButton)findViewById(R.id.imageButton1);
final Context context = this;
ib.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog ad = new AlertDialog.Builder(context)
.setMessage("Blah blah blah.\n Fine pring.\n Do you accept all our terms and conditions?")
.setIcon(R.drawable.ic_launcher)
.setTitle("Terms of Service")
.setNeutralButton("back", this)
.setCancelable(false)
.create();
ad.show();
}
});
而且我(也許是崇高的)假設是,該代碼塊確實駐留在實際上擴展了Context的類中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.