【发布时间】:2017-01-18 19:01:34
【问题描述】:
我在下面发布我的代码。即使代码中没有错误,我也没有在片段布局中看到任何视图,希望任何人都可以帮助我。
这是我的片段类
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view= inflater.inflate(layout.caselist, container, false);
lv = (ListView) view.findViewById(id.list_client);
db = new DatabaseHelper(getActivity());
adapter = new ClientListAdapter(getActivity(), list);
list = db.getAllClientList(); // I'm getting all data from database
lv.setAdapter(adapter);
return view;
}
现在这是我的适配器类
public class ClientListAdapter extends BaseAdapter {
List<ClientModel> myList = new ArrayList<ClientModel>();
LayoutInflater inflater;
Context context;
ListView listview;
public ClientListAdapter(Context context, List<ClientModel> myList) {
this.myList = myList;
this.context = context;
// this.listview=listview;
inflater = LayoutInflater.from(this.context);
}
@Override
public int getCount() {
return myList.size();
}
@Override
public ClientModel getItem(int position) {
return (ClientModel) myList.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
MyViewHolder mViewHolder;
if (convertView == null) {
convertView = inflater.inflate(R.layout.list_item, parent, false);
mViewHolder = new MyViewHolder(convertView);
convertView.setTag(mViewHolder);
} else {
mViewHolder = (MyViewHolder) convertView.getTag();
}
ClientModel currentListData = getItem(position);
mViewHolder.txt_client_case_no.setText(currentListData.case_no);
return convertView;
}
private class MyViewHolder {
TextView txt_client_case_no, tvDesc;
ImageView ivIcon;
public MyViewHolder(View item) {
txt_client_case_no = (TextView) item.findViewById(R.id.txt_client_case_no);
}
}
}
我不知道我在哪里做错了,我的数据库中有 20 条数据。
【问题讨论】:
-
我认为你必须先在列表变量中获取数据然后传递给适配器
-
你在添加你的 Fragment 吗?
-
你能告诉我如何将数据添加到列表中,因为我对编程比较陌生,希望你能理解@shubham shukla
-
请原谅@Blackbelt
-
@酷看答案
标签: android listview android-fragments baseadapter