2016-02-27 89 views
1

从sqlite数据库中检索值并尝试动态显示值。动态视图未正确加载

这是我的检索值,

List<PendingOrdersDao> contacts = db.getAllPendingOrders(); 

for (PendingOrdersDao cn : contacts) { 
     initView(cn.getProformoInvoiceNumber(), cn.getProformoInvoiceDate()); 
} 

当我调用initView方法,应该添加视图布局动态地取决于存在于分贝的条目的数量。以下是我的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); 
    } 

的问题是,有三个项目在DB因此3views应当显示,但它显示只有一个视图

+0

尝试inflater.inflate(layoutResId,null) – fillobotto

+0

只有数据库中的最后一个条目变得膨胀了吗? –

+0

是的,它是最后一个条目 –

回答

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

    } 

看是否可以帮助你。 :)

+1

你有什么奇怪的吗? –

+0

仍然存在相同的问题 –

+1

即使添加方向后? –

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

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

建议

  • 为什么不使用RecyclerViewListView