The constructor SimpleAdapter(new View.OnClickListener(){},...)is undefined的问题及解决

唉,效率好低的说,除了做日记本应用,同时也在做音乐播放器,虽然主要的代码完成了,但是出现了诸多问题。在日记本应用中,我想点击一个按钮显示保存的日志,然而在使用setOnClickListener的方法时,语法和填入的数据并没有问题,但仍然报错,我一直不知道原因,后来上网查了查,终于知道该怎么改了,在此和大家分享——

原来的代码:

        //点击“获取日志列表”按钮,显示所有已保存日志的目录
        searchBn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//如果SD卡存在
if(currentFile.exists()) {
//获取SD卡中的文件
currentFiles = currentFile.listFiles();
}
//创建一个List集合,其元素为Map
    List> diaryItems = new ArrayList>();
for(int i = 0;i < currentFiles.length; i++) {
//判断是否为日志文件
if(currentFiles[i].getPath().endsWith(".txt")) {
Map diaryItem = new HashMap();
diaryFiles[j] = currentFiles[i];
diaryItem.put("diarytitle", diaryFiles[j]);
diaryItems.add(diaryItem);
j++;
}
}

//创建一个SimpleAdapter
    adapter = new SimpleAdapter(this, diaryItems, R.layout.perform, 
    new String[]{"diarytitle"}, new int[]{R.id.diarytitle});
    listView.setAdapter(adapter);
}
});

给出的解决方法是将adapter = new SimpleAdapter(this, diaryItems, R.layout.perform, new String[]{"diarytitle"}, new int[]{R.id.diarytitle});改成

adapter = new SimpleAdapter(MainActivity.this, diaryItems, R.layout.perform, new String[]{"diarytitle"}, new int[]{R.id.diarytitle});

但是我不知道为什么要这么改,希望有人看到劳烦解释一下,让更多不懂的人能够学习~谢谢啦~

你可能感兴趣的:(Android学习中的问题)