【发布时间】:2016-04-12 13:12:04
【问题描述】:
我正在研究 John Horton 的 Android 初学者编程,目前正在尝试创建一个笔记应用程序。霍顿刚刚介绍了ListViews。但是,我遇到了adapter class 的问题:
public class NoteAdapter extends BaseAdapter {
List<Note> mNoteList = new ArrayList<Note>();
@Override
public int getCount(){
return mNoteList.size();
}
@Override
public Note getItem(int whichItem){
return mNoteList.get(whichItem);
}
@Override
public long getItemId(int whichItem){
return whichItem;
}
@Override
public View getView(int whichItem, View view, ViewGroup viewGroup){
// check if view has been inflated already
if (view == null){
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); // ERROR HERE
view = inflater.inflate(R.layout.listitem, viewGroup, false);
}
return view;
}
}
问题出在getView 方法中,我正在尝试inflate layout:Android Studio throws an error: 'Cannot resolve getSystemService(java.lang.String)'.
作为一个刚看完这本书的新手,我不知道从哪里开始或尝试解决什么问题 - 有人可以帮忙吗?
【问题讨论】:
-
这基本上意味着它在当前类(NoteAdapter)或超类(BaseAdapter)中找不到getSystemService。您是否在文件顶部导入了 BaseAdapter?你能看到BaseAdapter的来源吗?
-
伙计们,我是个白痴。我把这个类放在一个单独的文件中,但它应该在 MainActivity 中。 (-‸ლ)。当你把它放在那里时工作正常。感谢您的回答。