2 slaks SLaks 于 2013.03.01 16:20 提问

创建 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

如何解决这个问题呢?

3个回答

xiaoyan_12
xiaoyan_12   2013.03.04 11:48
已采纳

在 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);
            }
     });
...
}
qiushibaiyi
qiushibaiyi   2013.03.01 16:28

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

SLaks
SLaks 检查过了,谢谢您的回答。
接近 5 年之前 回复
franzhong
franzhong   2013.03.03 23:20

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!