我正在尝试将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);
}
});
}
}
答案 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);