1 主界面(activity_inbound_po.xml)
添加一个 ListView
<ListView
android:id="@+id/lvInboundPO"
android:layout_width="368dp"
android:layout_height="140dp"
android:layout_marginStart="4dp"
android:layout_marginLeft="4dp"
android:layout_marginTop="160dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
2 创建一个布局页面(sub_inboundpolist.xml)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/qrcode"
android:layout_width="354dp"
android:layout_height="35dp"
android:layout_marginLeft="15dp"
android:layout_marginTop="10dp"
android:gravity="center_vertical|left" />
<TextView
android:id="@+id/qty"
android:layout_width="113dp"
android:layout_height="29dp"
android:layout_marginLeft="15dp"
android:layout_marginTop="50dp"
android:gravity="center_vertical|left" />
<TextView
android:id="@+id/qtyActual"
android:layout_width="113dp"
android:layout_height="29dp"
android:layout_marginLeft="256dp"
android:layout_marginTop="50dp"
android:gravity="center_vertical|left" />
</RelativeLayout>
3 实现BaseAdapter
InboundPO是我自己的类,(如果你自己的是List,那么修改一下就好了)
他有多个属性以及一个 List泛型集合。
public class InboundPO {
@JsonProperty("PPR_ID")
private Integer pPR_ID;
@JsonProperty("PO_No")
private String pO_No;
@JsonProperty("PPR_No")
private String pPR_No;
@JsonProperty("Order_No")
private String order_No;
@JsonProperty("W_ID")
private Integer w_ID;
@JsonProperty("InvoicingList")
private List<Invoicing> invoicingList=new ArrayList<>();
public Integer getPPR_ID() {
return pPR_ID;
}
public void setPPR_ID(Integer pPR_ID) {
this.pPR_ID = pPR_ID;
}
public String getPO_No() {
return pO_No;
}
public void setPO_No(String pO_No) {
this.pO_No = pO_No;
}
public String getPPR_No() {
return pPR_No;
}
public void setPPR_No(String pPR_No) {
this.pPR_No = pPR_No;
}
public String getOrder_No() {
return order_No;
}
public void setOrder_No(String order_No) {
this.order_No = order_No;
}
public Integer getW_ID() {
return w_ID;
}
public void setW_ID(Integer w_ID) {
this.w_ID = w_ID;
}
public List<Invoicing> getInvoicingList() {
return invoicingList;
}
public void setInvoicingList(List<Invoicing> invoicingList) {
this.invoicingList = invoicingList;
}
}
接着创建绑定适配器
public class Adapter_InboundPO extends BaseAdapter {
private Context context;
/** 数据源 */
private InboundPO inboundPO;
private LayoutInflater inflater;
public Adapter_InboundPO(Context context, InboundPO inboundPO) {
super();
this.context = context;
this.inboundPO = inboundPO;
inflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return inboundPO.getInvoicingList().size();
}
@Override
public Invoicing getItem(int position) {
return inboundPO.getInvoicingList().get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if (view == null) {
view = inflater.inflate(R.layout.sub_inboundpolist, parent, false);
}
String qrCode = String.format("%s-%s-%s", inboundPO.getPO_No(), inboundPO.getPPR_No(), inboundPO.getInvoicingList().get(position).getP_SKU());
TextView tvQRCode = (TextView) view.findViewById(R.id.qrcode);
TextView tvQty = (TextView) view.findViewById(R.id.qty);
TextView tvQtyActual = (TextView) view.findViewById(R.id.qtyActual);
tvQRCode.setText(qrCode);
tvQty.setText(inboundPO.getInvoicingList().get(position).getP_Amount().toString());
tvQtyActual.setText(inboundPO.getInvoicingList().get(position).getP_AmountActual().toString());
return view;
}
}
4 在界面上(InboundPOActivity)绑定
Adapter_InboundPO adapter = new Adapter_InboundPO(getBaseContext(),inboundPO);
lvInboundPO.setAdapter(adapter);