Java ListView中setOnItemClickListener上的NullPointerException

Java ListView中setOnItemClickListener上的NullPointerException,java,android,android-listview,nullpointerexception,onitemclicklistener,Java,Android,Android Listview,Nullpointerexception,Onitemclicklistener,在以下代码中,我在setOnItemClickListener上得到一个NullPointerException: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.main); c = getApplicationContext(); lv = (ListView) findViewByI

在以下代码中,我在setOnItemClickListener上得到一个NullPointerException:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //setContentView(R.layout.main);

    c = getApplicationContext();
    lv = (ListView) findViewById(R.id.listSchedules);
    lv.setOnItemClickListener(this);
    File schedules = new File(c.getFilesDir().toString() + "/testthreepdf");
    schedulesList = schedules.listFiles(new FilenameFilter() 
    {
        public boolean accept(File dir, String name) 
        {
            return ((name.endsWith(".pdf")));
        }
    });

    if(schedulesList.length > 0)
    {
        for (int i = 0; i < schedulesList.length; i++) 
        {
            pdflist.add(schedulesList[i].getName().toString());
        }
        adapter = new StableArrayAdapter(this, android.R.layout.simple_list_item_1, pdflist);
        lv.setAdapter(adapter);
    }

}


@Override
public void onItemClick(AdapterView<?> av, View v, int position, long id) {
    String path = schedulesList[(int) id].getAbsolutePath();

    try {
        final Intent intent = new Intent(this, SecondMainActivity.class);
        intent.putExtra(PdfViewerActivity.EXTRA_PDFFILENAME, path);
        startActivity(intent);
    } catch (Exception e) {
        e.printStackTrace();
    }


}
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
c=getApplicationContext();
lv=(ListView)findViewById(R.id.listSchedules);
lv.setOnItemClickListener(本);
文件计划=新文件(c.getFilesDir().toString()+“/testthreepdf”);
schedulesList=schedules.listFiles(新文件名过滤器()
{
公共布尔接受(文件目录,字符串名称)
{
返回((name.endsWith(.pdf));
}
});
如果(schedulesList.length>0)
{
for(int i=0;i

我在几项活动中都使用过这个方法,但它总是有效的,但在这里不起作用,我似乎找不到问题所在?

这是一个相对直接的问题,所以我不知道这是否真的值得回答,但是。。取消注释

//setContentView(R.layout.main)


setContentView您可以发布错误日志以便我看到发生了什么吗?您应该将NPE中的堆栈跟踪添加到您的问题中。这不能为null,因此只有lv保留
//setContentView(R.layout.main)此行是必需的。为什么它被注释掉了?@matiash这就是问题所在,它现在起作用了
setContentView