如何在Android表布局的一排中添加多个列



我有一个带有名称,年龄和等级的自定义列表。我想循环浏览列表,并在表布局中显示内容。每个行将具有以下属性。一种样式

  Name,
   Age,
   Age_Value,
   Grade,
   Grade_Value

这里的年龄和成绩只是一个标签。以下是样本表

Dolly
Age
23
Grade
A+
Roman
Age
22
Grade 
C
Ben
Age
23
Grade
B+

我想在我的布局中动态地将这些详细信息添加到表布局中。

这是IM尝试的代码

 for(int j=0;j<_attributeList.size();j++)
                      {
                          TableRow tr = new TableRow(MyActivity.this);
                          tr.setLayoutParams(new LayoutParams(
                                  LayoutParams.FILL_PARENT,
                                  LayoutParams.WRAP_CONTENT));
                              TextView tvName = new TextView(MyActivity.this);
                              tvName.setPadding(3,0,0,0);
                              tvName.setText(_attributeList.get(j).getName() +" : ");
                              tr.addView(tvName);
                              TextView tvAgeL = new TextView(MyActivity.this);
                              tvAgeL .setText("Age");
                              tr.addView(tvAgeL );
                              TextView tvAgeValue = new TextView(MyActivity.this);
                              tvAgeValue .setPadding(3,0,0,0);
                              tvAgeValue .setText(_attributeList.get(j).getValue() +" : ");
                              tr.addView(tvAgeValue );

                          attributeTable.addView(tr, new TableLayout.LayoutParams(
                                    LayoutParams.FILL_PARENT,
                                    LayoutParams.WRAP_CONTENT));
                     }
                    }

由于这些项目正在添加到同一行IM中,以一行获得结果。我如何在单独的行中显示它们

您应该像这样尝试

代码

for(int i = 0; i < _attributeList.size();i++){              
    TableRow newRow = new TableRow(getApplicationContext());
    newRow.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT));
    newCheckBox = new CheckBox(getApplicationContext());
    TextView feeTypeText = new TextView(getApplicationContext());
    feeTypeText.setText(jsonObj.getString("feeType"));
    feeTypeText.setTextColor(Color.BLACK);
    feeTypeText.setTextSize(16f);
    feeTypeText.setTypeface(tf);
    TextView dueAmountText = new TextView(getApplicationContext());
    dueAmountText.setText(jsonObj.getString("dueAmount"));
    dueAmountText.setTextColor(Color.BLACK);
    dueAmountText.setTextSize(16f);
    dueAmountText.setTypeface(tf);
    TextView dueDateText = new TextView(getApplicationContext());
    dueDateText.setText(jsonObj.getString("dueDate"));
    dueDateText.setTextColor(Color.BLACK);
    dueDateText.setTextSize(16f);
    dueDateText.setTypeface(tf);
    newRow.addView(newCheckBox,(new LayoutParams(0,LayoutParams.WRAP_CONTENT,0.8f)));
    newRow.addView(feeTypeText,(new LayoutParams(0,LayoutParams.WRAP_CONTENT,0.8f)));
    newRow.addView(dueAmountText,(new LayoutParams(0,LayoutParams.WRAP_CONTENT,1.0f)));
    newRow.addView(dueDateText,(new LayoutParams(0,LayoutParams.WRAP_CONTENT,1.0f)));
    attributeTable.addView(newRow);
}

您可以以这种方式添加...在这里我添加了TableRow,在此添加了textView。

addtree.setOnClickListener(new OnClickListener()
    {
        @Override
        public void onClick(View arg0) 
        {

                tr1 = new TableRow(YourActivity.this);
                tr1.setClickable(true);
                tr1.setId(jj);
                tr1.setPadding(0, 5, 0, 5);
                Log.d("id", "id is......"+tr1.getId());
                LinearLayout.LayoutParams layoutParams=new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
                TextView textview = new TextView(New_Quote_Activity.this);
                textview.setText("Job "+jj);
                textview.setTextColor(Color.BLACK);
                textview.setTypeface(null, Typeface.BOLD);
                textview.setTextSize(14);
                textview.setPadding(5, 0, 0, 0);

                View vv=new View(New_Quote_Activity.this);
                vv.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,1));
                vv.setBackgroundResource(R.color.viewcolor);
                View vv1=new View(New_Quote_Activity.this);
                vv1.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,1));
                vv1.setBackgroundResource(R.color.viewcolor);
                tr1.addView(textview);
                table_crete_invoice.addView(vv1);
                table_crete_invoice.addView(tr1,layoutParams);
                table_crete_invoice.addView(vv);

            }

最新更新