创建 onItemClickListener 时的问题

问题描述:

我想在ListView中添加一个onItemClickListener

streamListView.setAdapter(this.streamAdapter);
            this.streamListView.setOnItemClickListener(new OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> a, View v, int position, long id) {
                    Intent intent = new Intent(this, MessageDetailActivity.class);
                    startActivity(intent);
                }
            });

但是得到错误提醒:

The constructor Intent(new AdapterView.OnItemClickListener(){}, Class<MessageDetailActivity>) is undefined

如何解决这个问题呢?

在 annonymos 类里 this 是 AdapterView.OnItemClickListener 类型的,用 YOURACTIVITYNAME.this 来指代activity

public class MyActivity extends Activity {
....
streamListView.setAdapter(this.streamAdapter);
     this.streamListView.setOnItemClickListener(new OnItemClickListener() {
         @Override
            public void onItemClick(AdapterView<?> a, View v, int position, long id) {
>>>>>       Intent intent = new Intent(MyActivity.this, MessageDetailActivity.class);
                startActivity(intent);
            }
     });
...
}

把MessageDetailActivity import 了没?或者在同一个包下面吗?

Intent intent = new Intent(this, MessageDetailActivity.class);
试下这两种方法
1:将this改为myMainActivity.this//myMainActivity为你本主activity的名字
2:将这句Intent提到onClick上面去