gpt4 book ai didi

android - 在android中创建带边框的动态TableView?

转载 作者:行者123 更新时间:2023-11-29 02:02:34 24 4
gpt4 key购买 nike

我想这样创作。 enter image description here

我的代码是..

void fillCountryTable() {
TableRow row;
TextView tv_lession, tv_price, tv_line;
CheckBox chkbox;

int dip = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
(float) 1, getResources().getDisplayMetrics());

for (int current = 0; current < lession.size(); current++) {
row = new TableRow(this);

TableRow.LayoutParams llp = new TableRow.LayoutParams(
);
llp.setMargins(2, 2, 2, 2);// 2px right-margin

// New Cell
LinearLayout cell = new LinearLayout(this);

cell.setBackgroundColor(Color.BLUE);
cell.setLayoutParams(llp);// 2px border on the right for the cell

tv_lession = new TextView(this);
tv_lession.setTextColor(getResources().getColor(color.darker_gray));
tv_price = new TextView(this);
tv_price.setTextColor(getResources().getColor(color.darker_gray));
chkbox = new CheckBox(this);
chkbox.setId(current);

tv_lession.setText(lession.get(current));
tv_price.setText(price.get(current));

tv_lession.setTypeface(null, 1);
tv_price.setTypeface(null, 1);

tv_lession.setTextSize(15);
tv_price.setTextSize(15);

tv_lession.setWidth(50 * dip);
tv_price.setWidth(150 * dip);
chkbox.setWidth(50 * dip);
tv_lession.setPadding(20 * dip, 0, 0, 0);

cell.addView(tv_lession);
cell.addView(tv_price);
cell.addView(chkbox);

// row.setBackgroundColor(color.black);
row.addView(cell);

((TableLayout) findViewById(R.id.course_outline_table)).addView(
row, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));

chkbox.setOnCheckedChangeListener(new OnCheckedChangeListener() {

public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked) {
subTotal += Integer.parseInt(price.get(buttonView
.getId()));
total = subTotal + tax;
} else {
subTotal -= Integer.parseInt(price.get(buttonView
.getId()));
total = subTotal + tax;
}

((TextView) findViewById(R.id.tv_subTotal))
.setText(subTotal + "");
((TextView) findViewById(R.id.tv_total))
.setText(total + "");
}
});

}
}

最佳答案

检查这个解决方案:

        TableRow row;

shoppingCardDetails = new ArrayList<ShoppingCardDetails>();

SoapObject courseOutlineObject = (SoapObject) ParserClass.ResponseVector
.elementAt(3);

final Vector courseOutline = (Vector) courseOutlineObject
.getProperty(0);
//System.out.println(courseOutline);
//System.out.println("check record" + courseOutline.size());
for (int current = 0; current < courseOutline.size(); current++) {

try {

row = (TableRow) LayoutInflater.from(this).inflate(
R.layout.table_row, null);
chkbox = (CheckBox) row.findViewById(R.id.chkBox);
chkbox.setId(current);

((TextView) row.findViewById(R.id.coursename))
.setText(((SoapObject) courseOutline.elementAt(current))
.getProperty("tocName").toString());

((TextView) row.findViewById(R.id.tvcourseprice))
.setText(((SoapObject) courseOutline.elementAt(current))
.getProperty("tocPrice").toString());

/*
* if ((((SoapObject) courseOutline.elementAt(current))
* .getProperty("tocLevel") + "").equalsIgnoreCase("0")) {
*
* ((LinearLayout) row.findViewById(R.id.llrow))
* .setBackgroundColor(Color.parseColor("#F2F5A9"));
*
* }
*/
if ((((SoapObject) courseOutline.elementAt(current))
.getProperty("tocEnrollStatus") + "")
.equalsIgnoreCase("true")) {

chkbox.setVisibility(View.INVISIBLE);
((TextView) row.findViewById(R.id.tvEnrolled))
.setVisibility(View.VISIBLE);
((TextView) row.findViewById(R.id.tvcourseprice))
.setVisibility(View.VISIBLE);

}

((TableLayout) findViewById(R.id.course_outline_table))
.addView(row);

chkbox.setOnCheckedChangeListener(new OnCheckedChangeListener() {

@overide
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {

try {
ShoppingCardDetails shoppingdetails = new ShoppingCardDetails();

if (isChecked) {

subTotal += 1;
total = subTotal;
shoppingdetails.name = ((SoapObject) courseOutline
.elementAt(buttonView.getId()))
.getProperty("tocName").toString();
shoppingdetails.price = ((SoapObject) courseOutline
.elementAt(buttonView.getId()))
.getProperty("tocPrice").toString();
shoppingCardDetails.add(shoppingdetails);

} else {
subTotal -= 1;
total = subTotal;

shoppingCardDetails.remove(total);

}

((TextView) findViewById(R.id.btnRightHeader))
.setText("" + total);

((TextView) findViewById(R.id.btnRightHeader))
.setPadding(30, 0, 0, 15);
((TextView) findViewById(R.id.btnRightHeader))
.setTextColor(Color.WHITE);

} catch (Exception e) {
// TODO: handle exception
}
}
});
} catch (Exception e) {
// TODO: handle exception
}

}

关于android - 在android中创建带边框的动态TableView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11846206/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com