我试图开始一个新的意图,点击列表视图中的一个项目,但不知道如何做到这一点。
这是代码:
final ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
@SuppressWarnings("unchecked")
Intent intent = new Intent(this, Profileviewer.class);
startActivity(intent);
}
});
我在new Intent(this, Profileviewer.class);
上得到一个compiller错误
The constructor Intent(new AdapterView.OnItemClickListener(){}, Class<Profileviewer>) is undefined
您应该将活动的上下文传递给意图(通过放置YourActivity.this
),如果只传递this,则传递AdapterView.OnItemClickListener()
。。
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
@SuppressWarnings("unchecked")
Intent intent = new Intent(YourActivity.this, Profileviewer.class);
startActivity(intent);
}
});
我想你忘了在AndroidManifest.xml中添加一个新活动。
正如您所说,您正试图从ListView启动Intent。在您的代码中,这意味着列表视图。这就是错误消息所说的。您需要使用以下任何方法来使用包名称。
Intent intent = new Intent({package_name}, Profileviewer.class);
Intent intent = new Intent(Profileviewer.this, Profileviewer.class);