无法解析符号(上下文)

时间:2016-05-21 11:09:37

标签: android android-studio alertdialog android-context builder

在Android中还很年轻。我在代码中的这一行收到此错误:new AlertDialog.Builder(context)。我得到的错误无法解析符号(context)。

请帮忙,

   case R.id.chk_clas1:
            //do stuff
            if (chk_clas1.isChecked()) {
                if(c1.equals("0")){
                adddate(txt_clas1);}
                clas="1";
                fdate=txt_clas1.getText().toString();

                new AlertDialog.Builder(context)
                  .setTitle("Delete entry")
                  .setMessage("Are you sure you want to delete this entry?")
                .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                                // continue with delete
                            }
                        })
                        .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int which) {
                                // do nothing
                            }
                        })
                        .setIcon(android.R.drawable.ic_dialog_alert)
                        .show();

            } else {
                txt_clas1.setText("");

            }

3 个答案:

答案 0 :(得分:1)

在这里,您使用context作为变量,但您既没有声明它,也没有初始化它,因此错误。

您可以定义它(并同时初始化)

 Context context = this;

因为它引用了类的当前对象实例,而Activity是一个Context。

如果您延长活动而不是使用

new AlertDialog.Builder(this)

如果扩展片段而不是使用

new AlertDialog.Builder(getActivity())

答案 1 :(得分:0)

而不是context使用yourActivity.this

因为context是我案例中的当前类实例

我的活动为MainActivity,因此我将使用MainActivity.this

new AlertDialog.Builder(MainActivity.this)

答案 2 :(得分:0)

试试这个,    用classname.this替换上下文