我是android的新手,我没有得到如何产生这个输出: 学科名称:1 {完成循环代码从0到9执行 }
然后它将出现并将更新textview文本:即 学科名称:2 并将进入For Loop内部 { 完成循环代码从0到9执行 }
这是java代码:
public class SummaryDetailActivity extends Activity
{ TableLayout summaryDetailDisciplineTableLayout;
LayoutInflater mInflater;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.summarydetail_view);
mInflater = getLayoutInflater();
summaryDetailDisciplineTableLayout = (TableLayout)findViewById(R.id.summaryDetail_disciplinetable);
//请看这些代码:
for(int i=0;i<2;i++)
{
TextView disciplineTextView = (TextView)findViewById(R.id.summaryDetail_disciplinetext);
disciplineTextView.setText("discipline name: "+i);
for(int j=0;j<10;j++)
{TableRow disciplineRow = (TableRow) mInflater.inflate(R.layout.summarydetailrow_view,null);
TextView disciplineDeviceLabel = (TextView) disciplineRow.findViewById(R.id.summaryDetail_info1);
TextView disciplineQuantityLabel = (TextView)disciplineRow.findViewById(R.id.summaryDetail_hypen);
TextView disciplineLocationLabel = (TextView) disciplineRow.findViewById(R.id.summaryDetail_info2);
disciplineDeviceLabel.setText("device no." + j);
disciplineQuantityLabel.setText("quantity No." + j);
disciplineLocationLabel.setText("Location No." + j);
disciplineRow.setId(j);
summaryDetailDisciplineTableLayout.addView(disciplineRow);
}
}
}
}
此代码生成此输出:
答案 0 :(得分:0)
以下是我将如何做到这一点。 在我的XML代码中,我将创建一个LinearLayout,并在其中创建一个TableLayout。
获取TableLayout的id后,我会动态创建TableRows和TextViews。您可以使用TableRow.LayoutParams或LayoutParams设置其布局。您可以在此之后设置文本,然后将它们添加到您添加到TableLayout的TableRow中。
希望这个建议有所帮助!
答案 1 :(得分:0)
我认为在onCreate()
中你应首先使用inflater然后设置你刚刚膨胀的视图。
试试这个:
View view = getLayoutInflater().inflate(R.layout.summarydetail_view, null);
setContentView(view);