构造函数Intent(new View.OnClickListener(){},GetLRL)未定义

时间:2015-06-01 20:11:08

标签: android android-intent

我正在尝试将arrayList intent传递给GETLRL类,但是我收到了这个错误:

  

构造函数Intent(new View.OnClickListener(){},GetLRL)未定义

我该如何解决?

我感谢任何帮助。

此代码位于MainActivity中:

private void createCheckboxList(final ArrayList<Integer> items) {
        .
        .
        .

        btn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                for (int i : items) {
                    CheckBox ch = (CheckBox) findViewById(i);

                    if (ch.isChecked()) {
                        int a = Integer.parseInt(ch.getText().toString());
                        selected.add(a);

                    }
                }
                //here is the error
                Intent intent = new Intent(this, GetLRL.this);
                intent.putIntegerArrayListExtra("stop_route", selected);
                startActivity(intent);



            }
        });

    }
}

1 个答案:

答案 0 :(得分:3)

因为在你的代码中,

Intent intent = new Intent(this, GetLRL.this); // <<- Here this refers to View.OnClickListener not an Activity reference

从上面的代码行,this引用onClickListener,Intent需要Application Context作为第一个参数,并使用.class作为第二个参数。

所以改变你的代码行,

Intent intent = new Intent(MainActivity.this, GetLRL.class);

或者

Intent intent = new Intent(v.getApplicationContext(), GetLRL.class);