在Android中从onListItemClick()转到其他布局

在Android中从onListItemClick()转到其他布局,android,listview,android-layout,Android,Listview,Android Layout,我有一个ListView,我希望当我按下一个项目时,转到另一个屏幕,稍后我将对其进行自定义,但目前我只想转到该窗口,在本例中是关于res/layout/mylayout.xml中定义的xml文件 protected void onListItemClick (ListView l, View v, int position, long id){ super.onListItemClick(l, v, position, id); setContentView(R.layout.m

我有一个ListView,我希望当我按下一个项目时,转到另一个屏幕,稍后我将对其进行自定义,但目前我只想转到该窗口,在本例中是关于res/layout/mylayout.xml中定义的xml文件

protected void onListItemClick (ListView l, View v, int position, long id){
    super.onListItemClick(l, v, position, id);
    setContentView(R.layout.mylayout);
}

我无法想象我还应该做些什么。在LogCat中,我得到了一些例外,我的内容必须包含listview,但为什么会发生这种情况?也许我想在该布局中添加一些其他内容,也许只是一个文本视图。请告诉我如何才能做到这一点。

您应该做的是创建一个不同的,并使用

基本上,您希望为每个屏幕使用不同的活动。更多关于Android开发者网站的信息,这是一个很好的资源

以下是如何使用意图从活动中启动活动。假设要启动的活动名为MyActivity:

Intent intent = new Intent(this, MyActivity.class);
startActivity(intent);
还要确保将活动添加到
标记内的清单文件中:

    <activity
        android:label="My Activity Title"
        android:name=".MyActivity" >
    </activity>


正确的方法是启动另一个活动(通过启动一个意图,可能还有一些额外的内容来提交单击的项目)

您是扩展的ListActivity,所以view需要一个ListView。在第一个itemClick之后,错误提示意味着setContentView(R.layout.mylayout)已重置视图,该视图不包含listView

因此,扩展活动而不是触觉。里面写着

ListView lv = (ListView) findViewByID(R.id.listView) ;

ONCLICC问题将得到解决

很好的建议,但是你能告诉我如何获得目的吗?我已尝试在新创建的活动中创建新的intent=getIntent(),将其声明为静态,然后在onListItemClick()中使用startNewActivity(intent),但是我得到了一个nullPointerException。这个算法好吗?谢谢你的想法,但是如果我不扩展ListActivity,我会失去一些功能。ListActivity的每个功能都可以通过一个活动实现。用上述代码替换getListView()