将意图分配给Listview中的字符串 - 在范围内无法访问ListActivity的封闭实例

时间:2013-09-08 00:34:08

标签: java android eclipse android-listview

这是代码:

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。

1 个答案:

答案 0 :(得分:1)

看起来像是一个复制粘贴错误。由于您的代码位于名为BookingActivity的活动中,因此引用ListActivity毫无意义。后者 - 如果它存在于您的项目中,或者它的一个依赖项 - 超出相关代码的范围,因此错误。

换句话说,要消除错误,请替换所有出现的:

ListActivity.this

使用:

BookingActivity.this