Java ListView中setOnItemClickListener上的NullPointerException
在以下代码中,我在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
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