我从sqlite db中检索值并尝试动态显示值。
这是我检索值的方法,
List<PendingOrdersDao> contacts = db.getAllPendingOrders();
for (PendingOrdersDao cn : contacts) {
initView(cn.getProformoInvoiceNumber(), cn.getProformoInvoiceDate());
}
当我调用initView方法时,它应该根据db中存在的条目数动态地向布局添加视图。以下是我的initView方法。
private void initView(String proformaInvoice, String invoiceDate){
LinearLayout mLinearLayoutContainer = (LinearLayout) mRootView.findViewById(R.id.dashboard_container);
LayoutInflater inflater = getActivity().getLayoutInflater();
View v = inflater.inflate(R.layout.dashboard_fragment, mLinearLayoutContainer, false);
mProformaInvoice = (TextView) v.findViewById(R.id.dashProformaInvoiceNo);
mInvoiceNumber = (TextView) v.findViewById(R.id.dashInvoiceNo);
mProformaInvoice.setText(proformaInvoice);
mInvoiceNumber.setText(invoiceNumber);
mLinearLayoutContainer.addView(v);
}
问题是,数据库中有三个条目因此应显示3个视图,但它只显示一个视图
答案 0 :(得分:1)
首先,检查联系人列表大小。
您是否为linear layout
设置了正确的方向?垂直还是水平?
建议
RecyclerView
或ListView
?答案 1 :(得分:1)
这是我的工作代码: -
for (int i = 0; i < 3; i++) {
LinearLayout mLinearLayoutContainer = (LinearLayout) findViewById(R.id.test_container);
LayoutInflater inflater = getLayoutInflater();
View v = inflater.inflate(android.R.layout.simple_list_item_1, mLinearLayoutContainer, false);
mTextView = (TextView) v.findViewById(android.R.id.text1);
mTextView.setText("This is i : " + i);
mLinearLayoutContainer.addView(v);
}
看看是否有帮助。 :)