android 无法在片段中使用 getLayoutInflater
android can't use getLayoutInflater in fragment
我正在使用片段,我试图构建一个从数据库中获取的列表。除了下面这段代码外,一切似乎都很好
listadapter = new charitylist(this, getLayoutInflater());
我已经在这里设置了布局 inflater
LayoutInflater lf = getActivity().getLayoutInflater();
但我不知道如何在列表适配器中使用 layoutinflater lf。
这是完整代码
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
LayoutInflater lf = getActivity().getLayoutInflater();
View view = lf.inflate(R.layout.activity_charity, container, false);
listView = (ListView) view.findViewById(R.id.charityList);
listadapter = new charitylist(this, getLayoutInflater());
listView.setAdapter(listadapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//String trackName = listadapter.getItem(position).optString("track_name", "");
}
});
setType = "favourite";
getlist(setUrl, setType);
return view;
}
我不知道如何让它工作。我尝试了几件事来让它工作。但我需要启动适配器。
感谢您的帮助。
LayoutInflater inflater
已在 Fragment
的 onCreateView
中提供。你为什么不这样使用:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
View view = inflater.inflate(R.layout.activity_charity, container, false);
listView = (ListView) view.findViewById(R.id.charityList);
listadapter = new charitylist(getActivity(), inflater);
...
我正在使用片段,我试图构建一个从数据库中获取的列表。除了下面这段代码外,一切似乎都很好
listadapter = new charitylist(this, getLayoutInflater());
我已经在这里设置了布局 inflater
LayoutInflater lf = getActivity().getLayoutInflater();
但我不知道如何在列表适配器中使用 layoutinflater lf。
这是完整代码
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
LayoutInflater lf = getActivity().getLayoutInflater();
View view = lf.inflate(R.layout.activity_charity, container, false);
listView = (ListView) view.findViewById(R.id.charityList);
listadapter = new charitylist(this, getLayoutInflater());
listView.setAdapter(listadapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//String trackName = listadapter.getItem(position).optString("track_name", "");
}
});
setType = "favourite";
getlist(setUrl, setType);
return view;
}
我不知道如何让它工作。我尝试了几件事来让它工作。但我需要启动适配器。
感谢您的帮助。
LayoutInflater inflater
已在 Fragment
的 onCreateView
中提供。你为什么不这样使用:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
View view = inflater.inflate(R.layout.activity_charity, container, false);
listView = (ListView) view.findViewById(R.id.charityList);
listadapter = new charitylist(getActivity(), inflater);
...