这是代码:
public class BookingActivity extends Activity {
static final String[] StrValues = new String[] { "Resturant", "Hotell" };
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activitybooking);
listView = (ListView) findViewById(R.id.listView1);
listView.setAdapter(new ImageAdapter(this, StrValues));
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
Intent myIntent = new Intent(ListActivity.this, eksempelActivity.class);
myIntent.putExtra("Resturant", StrValues);
ListActivity.this.startActivity(myIntent);
}
});
}
}
我收到此错误:无法在范围内访问ListActivity类型的封闭实例
我已导入必要的导入,包括listactivy和AdapterView.OnItemClickListener。我甚至试图将setonitemclicklistener-method更改为onitemclicklistener,但结果为0。
答案 0 :(得分:1)
看起来像是一个复制粘贴错误。由于您的代码位于名为BookingActivity
的活动中,因此引用ListActivity
毫无意义。后者 - 如果它存在于您的项目中,或者它的一个依赖项 - 超出相关代码的范围,因此错误。
换句话说,要消除错误,请替换所有出现的:
ListActivity.this
使用:
BookingActivity.this