java - 如何以编程方式在 java 中的表布局中添加和删除行

标签 java android tablelayout tablerow

我是 java 和 android 编程的新手。我想通过代码将行(包括一些文本框)添加到表格布局并删除其中一些。最后得到他们的文本框值。我该怎么做?

最佳答案

这是一个简单的例子来做你想做的事:

布局:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:id="@+id/table"
             android:layout_width="match_parent"
             android:layout_height="match_parent">

</TableLayout>

Activity :

public class TableLayoutActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.table_layout);
    final TableLayout tableLayout = (TableLayout) findViewById(R.id.table);

    for (int i = 0; i < 5; i++) {
        // Creation row
        final TableRow tableRow = new TableRow(this);
        tableRow.setLayoutParams(new TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT, TableLayout.LayoutParams.WRAP_CONTENT));

        // Creation textView
        final TextView text = new TextView(this);
        text.setText("Test" + i);
        text.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT));

        // Creation  button
        final Button button = new Button(this);
        button.setText("Delete");
        button.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT));
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                final TableRow parent = (TableRow) v.getParent();
                tableLayout.removeView(parent);
            }
        });

        tableRow.addView(text);
        tableRow.addView(button);

        tableLayout.addView(tableRow);
    }

}
}

关于java - 如何以编程方式在 java 中的表布局中添加和删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17031006/

相关文章:

android - 我怎样才能使 AR 视频始终面对用户的相机,并带有标记 vuforia native android

java - TableRow 宽度不一致 - Android

android - Android 应用程序在创建动态表格布局时崩溃

java - Apache 共享数学 : restricting optimization domain

java - 当 Matcher#find 返回 false 时

Android,如何混合使用 ActionBar.Tab + View Pager + ListFragment

android - 错误 :Execution failed for task ':agendacalendar:compileDebugJavaWithJavac' . > 编译失败;

android - 在 TableLayout 中的 TableRow 中添加左右边距时隐藏的 EditText 字符

创建 ParseObject 时出现 java android i/o Failure Exception

java - 在Java中过滤一串不需要的字符