为什么我的android listview不工作?

为什么我的android listview不工作?,android,listview,Android,Listview,我是android开发的新手,对lst视图有一个问题。 我正在启动一个新项目,然后打开main.xml并添加一个视图 主要活动如下所示: public class MainActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ListView lv = (ListView)findV

我是android开发的新手,对lst视图有一个问题。 我正在启动一个新项目,然后打开main.xml并添加一个视图

主要活动如下所示:

public class MainActivity extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        ListView lv = (ListView)findViewById(R.id.listView1);
        lv.setAdapter(ArrayAdapter.createFromResource(getBaseContext(), R.array.titles, R.layout.list_item));

        setContentView(R.layout.main);
    }
}
R.array.titles
中,我有字符串数组,在
R.layout.list\u项中,我有一个文本视图

现在,每次以调试模式启动应用程序时,我都会得到以下输出:

01-06 09:39:17.193: W/dalvikvm(367): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
01-06 09:39:17.202: E/AndroidRuntime(367): Uncaught handler: thread main exiting due to uncaught exception
01-06 09:39:17.402: E/AndroidRuntime(367): java.lang.RuntimeException: Unable to start activity ComponentInfo{meine.app/meine.app.MainActivity}: java.lang.NullPointerException
01-06 09:39:17.402: E/AndroidRuntime(367):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)

这里怎么了?

您必须调用
setContent(R.layout.main)
在显示listView之前。

这是因为在设置活动布局之前不能使用“findViewById”。由于此方法在活动的布局中搜索要实例化的视图,并且在您的案例中没有为您的活动提供此类布局,因此失败。您从createFromResource(getBaseContext(),R.array.titles,R.layout.list_item)获取的适配器;需要R.id.text1设置资源值,但在布局R.layout.list_项中不可用,请在布局中创建android.R.id.text1,或将布局参数更改为android.R.layout.simple_列表_项_1,请检查并告知结果。