Android 如何以编程方式将表行添加到表布局?
您好,我正在尝试向TableLayout添加一些TableRows,TableLayout在xml文件中声明,TableRows仅在java代码中声明。 尽管存在一些类似的问题,但我无法在代码中实现:Android 如何以编程方式将表行添加到表布局?,android,tablelayout,Android,Tablelayout,您好,我正在尝试向TableLayout添加一些TableRows,TableLayout在xml文件中声明,TableRows仅在java代码中声明。 尽管存在一些类似的问题,但我无法在代码中实现: import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.wid
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TableRow.LayoutParams;
public class MainActivity extends Activity {
TableLayout tableLayout;
Button[][] buttons =new Button[9][9];
TableRow tableRow[]=new TableRow[9];
TableRow.LayoutParams layoutParams=new TableRow.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
tableLayout = (TableLayout) findViewById(R.id.tablay);
for(int line=0; line<9; line++){
tableRow[line]=new TableRow(this);
tableRow[line].setLayoutParams(layoutParams);
tableRow[line].setVisibility(View.VISIBLE);
}
for(int line=0; line<9; line++){
for(int col=0; col<9; col++){
buttons[line][col]=new Button(this);
buttons[line][col].setText(""+line+col);
buttons[line][col].setLayoutParams(layoutParams);
buttons[line][col].setVisibility(View.VISIBLE);
tableRow[line].addView(buttons[line][col]);
}
}
for(int i=0; i<9; i++){
tableLayout.addView(tableRow[i], new TableLayout.LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT));
}
setContentView(R.layout.activity_main);
}
}
导入android.app.Activity;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.Button;
导入android.widget.TableLayout;
导入android.widget.TableRow;
导入android.widget.TableRow.LayoutParams;
公共类MainActivity扩展了活动{
表布局表布局;
按钮[][]按钮=新按钮[9][9];
TableRow TableRow[]=新的TableRow[9];
TableRow.LayoutParams LayoutParams=新的TableRow.LayoutParams(LayoutParams.MATCH_父项,LayoutParams.WRAP_内容);
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
tableLayout=(tableLayout)findviewbyd(R.id.tablay);
对于(int line=0;line在super.onCreate(savedInstanceState)之后移动下一行)
非常感谢!现在很好,向上投票,然后接受答案:)我接受了答案,也向上投票,但向上投票不会公开,因为我没有足够的声誉
setContentView(R.layout.activity_main);