创建 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上面去