我到处都查过了,但找不到答案。每次点击我都会动态生成订单详情。第一次单击可以正常工作,但之后,每次单击都会将新订单添加到旧订单中。旧的不会消失。我试过了 remove view
但这也无济于事。我该怎么修?我想在单击时显示每个订单的详细信息。
@Override
public void itemClicked(int index, int siparisId) {
siparis_id = siparisId;
getSiparisUrunleri(siparis_id);
}
private void getSiparisDetay(int siparisId) {
linearUrunler = view.findViewById(R.id.linearUrunler);
for (SiparisUrunleri siparisUrunleri : siparisUrunleriList) {
linearTxt = new LinearLayout(context);
linearTxt.setOrientation(LinearLayout.HORIZONTAL);
linearTxt.setWeightSum(10f);
linearTxt.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
TextView txtUrunAdi = new TextView(context);
txtUrunAdi.setText(siparisUrunleri.getUrun_adi());
txtUrunAdi.setId(siparisUrunleri.getId());
txtUrunAdi.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, 8f));
txtUrunAdi.setPadding(3, 3, 3, 3);
TextView txtUrunAdet = new TextView(context);
txtUrunAdet.setId(siparisUrunleri.getId());
txtUrunAdet.setText(MessageFormat.format("{0} Adet", siparisUrunleri.getAdet()));
txtUrunAdet.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, 1f));
txtUrunAdet.setPadding(3, 3, 3, 3);
TextView txtUrunOlcu = new TextView(context);
txtUrunOlcu.setId(siparisUrunleri.getId());
txtUrunOlcu.setText(MessageFormat.format("{0}{1}", parseInputByReplace(siparisUrunleri.getOlcu()), getResources().getString(R.string.meter_square_sign)));
txtUrunOlcu.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, 1f));
txtUrunOlcu.setPadding(3, 3, 3, 3);
linearTxt.addView(txtUrunAdi);
linearTxt.addView(txtUrunAdet);
linearTxt.addView(txtUrunOlcu);
linearLayout.addView(linearTxt);
}
linearUrunler.addView(linearLayout);
crdBtnX.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
((ViewGroup) linearUrunler.getParent()).removeView(linearLayout);
relativeSiparisDetay.setVisibility(View.GONE);
}
});
}
siparisurunlerilist在每次结束时清除项目。
2条答案
按热度按时间wz8daaqr1#
对动态视图使用recyclerview,每次单击都会添加新视图,
nimxete22#
尝试使用
removeAllViewsInLayout();
对于父布局,例如: