Android 如何在TableRow的一个单元格中添加多个视图?
如上所述,如何在Android 如何在TableRow的一个单元格中添加多个视图?,android,tableview,tablerow,Android,Tableview,Tablerow,如上所述,如何在表格行的一个单元格中放置两个视图? 我创建了一个表布局,并通过代码添加行 下面是我的代码: TableLayout v = (TableLayout)inflater.inflate(R.layout.featureitem2, null); // v.setColumnStretchable(0, true); //adds each productname to the table if(productName.size()>1){
表格行的一个单元格中放置两个视图?
我创建了一个表布局,并通过代码添加行
下面是我的代码:
TableLayout v = (TableLayout)inflater.inflate(R.layout.featureitem2, null);
// v.setColumnStretchable(0, true);
//adds each productname to the table
if(productName.size()>1){
TableRow pnamesRow = new TableRow(t);
pnamesRow.addView(new View(t));
for(int j=0;j < productName.size();j++){
LinearLayout wrap = new LinearLayout(t);
LayoutParams params = new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT,TableRow.LayoutParams.FILL_PARENT);
wrap.setLayoutParams(params);
wrap.setOrientation(LinearLayout.HORIZONTAL);
wrap.setVisibility(View.VISIBLE);
ImageView remove = new ImageView(t);
remove.setTag(j);
remove.setClickable(true);
remove.setImageDrawable(t.getResources().getDrawable(R.drawable.remove));
remove.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
int deletePosition = (Integer)arg0.getTag();
Log.v("pos","pos="+deletePosition);
removeChild(deletePosition);
notifyDataSetChanged();
}
});
TextView pname = new TextView(t);
pname.setText(productName.get(j));
pname.setGravity(Gravity.CENTER);
// wrap.addView(pname);
wrap.addView(remove);
wrap.setLayoutParams(params);
pnamesRow.addView(pname);
// pnamesRow.addView(pname);
// pnamesRow.addView(remove,j+1);
//tbIndex++;
}
v.addView(pnamesRow);
}
for(int z =0;z < children.get(groupPosition).size();z++){
TableRow tr2 =new TableRow(t);
Feature f = (Feature) children.get(groupPosition).get(z);
TextView feature = new TextView(t);
feature.setText(f.getFeaturename());
feature.setTextColor(Color.BLACK);
feature.setGravity(Gravity.CENTER);
tr2.addView(feature);
for(int k =0;k < f.getNumFeatures();k++){
TextView value = new TextView(t);
value.setText(f.getVal(k));
value.setTextColor(Color.BLACK);
//value.setGravity(Gravity.CENTER);
value.offsetLeftAndRight(20);
tr2.addView(value);
v.setColumnShrinkable(k+1, true);
tr2.setPadding(5, 5, 5, 5);
tr2.offsetTopAndBottom(50);
}
v.addView(tr2);
}
TableLayout v=(TableLayout)充气器。充气(R.layout.featureitem2,空);
//v.setColumnStretchable(0,真);
//将每个产品名称添加到表中
如果(productName.size()>1){
TableRow pnamesRow=新的TableRow(t);
pnamesRow.addView(新视图(t));
对于(int j=0;j
我想我已经找到了答案,多亏了Commonware
只有在将项目添加到linearlayout
之后,我才应该将layoutparms
设置为linearlayout
,您需要将它们放在某种容器中,例如linearlayout
或RelativeLayout
。每个单元格只能有一个视图
,但如果该视图
是一个容器,那么该视图实际上可以由多个组成
不过,请记住,手机屏幕很小。将容器嵌套在表格布局中
可能很难在QVGA屏幕上使用。大家好,我已经尝试将视图放在线性布局中,如上面的代码所示。。。。但是,当我运行应用程序时,它不可见