动态视图未正确加载

时间:2016-02-27 11:15:02

标签: android

我从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个视图,但它只显示一个视图

2 个答案:

答案 0 :(得分:1)

  1. 首先,检查联系人列表大小。

  2. 您是否为linear layout设置了正确的方向?垂直还是水平?

  3. 建议

    1. 为什么不使用RecyclerViewListView

答案 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);

    }

看看是否有帮助。 :)