android - 动态表渲染表行内容在android中存在问题
问题描述
嗨,在下面的代码中显示动态表格行,在我的代码中命名如下。Rows 还动态添加从 api 显示的表格内容并添加到 textviews。
在下面的代码中,我面临一个问题 t1v.setText(namesList[i]); 因为文本有一些名称并添加到数组列表中。
以同样的方式,我正在使用另一个 for 循环,第二个 for 循环想要在第一个 for 循环之外执行。单价有问题。
以下代码的输出:
Sl.No Product Name Quantity Unit Price
0 Fac 1 87000 67000 78900
1 CS 1 87000 67000 78900
2 BS 1 87000 67000 78900
预期输出:Sl.No 产品名称 数量 单价
0 Fac 1 87000
1 CS 1 67000
2 BS 1 78900
TableLayout stk = (TableLayout) customView.findViewById(R.id.tables);
TableRow tbrow0 = new TableRow(getContext());
Resources resource = getContext().getResources();
tbrow0.setBackgroundColor(resource.getColor(R.color.tabs1));
TextView tv0 = new TextView(getContext());
tv0.setText(" Sl.No ");
tv0.setTextColor(Color.BLACK);
tv0.setGravity(Gravity.CENTER);
tbrow0.addView(tv0);
TextView tv1 = new TextView(getContext());
tv1.setText(" Product Name ");
tv1.setGravity(Gravity.CENTER);
tv1.setTextColor(Color.BLACK);
tbrow0.addView(tv1);
TextView tv2 = new TextView(getContext());
tv2.setText(" Quantity");
tv2.setGravity(Gravity.CENTER);
tv2.setTextColor(Color.BLACK);
tbrow0.addView(tv2);
TextView tv3 = new TextView(getContext());
tv3.setText(" Unit Price ");
tv3.setGravity(Gravity.CENTER);
tv3.setTextColor(Color.BLACK);
tbrow0.addView(tv3);
TextView tv4 = new TextView(getContext());
tv4.setText(" Total ");
tv4.setGravity(Gravity.CENTER);
tv4.setTextColor(Color.BLACK);
tbrow0.addView(tv4);
stk.addView(tbrow0);
String[] namesList = productValues.split(",");
String[] priceList=listprices.split(",");
for (int i = 0; i < namesList.length; i++) {
TableRow tbrow = new TableRow(getContext());
TextView t0v = new TextView(getContext());
t0v.setText("" + i);
t0v.setTextColor(Color.BLACK);
t0v.setGravity(Gravity.CENTER);
tbrow.addView(t0v);
TextView t1v = new TextView(getContext());
t1v.setText(namesList[i]);
t1v.setTextColor(Color.BLACK);
t1v.setGravity(Gravity.CENTER);
tbrow.addView(t1v);
// stk.addView(tbrow);
TextView t2v = new TextView(getContext());
t2v.setText(quantitys);
t2v.setTextColor(Color.BLACK);
t2v.setGravity(Gravity.CENTER);
tbrow.addView(t2v);
// stk.addView(tbrow);
for(int j=0;j<priceList.length;j++) {
TextView t3v = new TextView(getContext());
String rupee = getResources().getString(R.string.Rs);
t3v.setText(rupee.concat(priceList[j]));
t3v.setTextColor(Color.BLACK);
t3v.setGravity(Gravity.CENTER);
tbrow.addView(t3v);
// stk.addView(tbrow);
}
TextView t4v = new TextView(getContext());
// String t2 = String.valueOf(Integer.parseInt(qty) * Integer.parseInt(list_price));
String rupee = getResources().getString(R.string.Rs);
t4v.setText(totals);
t4v.setTextColor(Color.BLACK);
t4v.setGravity(Gravity.CENTER);
tbrow.addView(t4v);
stk.addView(tbrow);
}
解决方案
推荐阅读
- javascript - javascript水平滚动日期时间选择器,当前时间始终位于中心
- python - 如何使用 ID 整数跟踪 Django 中的请求?
- php - 脚本无法找到或执行文件夹文件
- azure - Azure Durable Functions 中的依赖项调用失败
- google-cloud-platform - 我们如何为 Google Cloud Functions 代码动态部署更新版本的代码?
- c# - C# - 将 RTF 格式的字符串获取到 RichTextBox
- tensorflow - Python - 一种训练 softmax keras 模型的方法?
- java - Recyclerview 项目没有以相同的高度显示
- javascript - 如何在js中找到具有预定值的变量?
- c# - 没有为实体类型字符串找到合适的构造函数