我尝试创建一个新的表行并将其添加到现有的TableLayout中。我已经浏览了互联网,似乎我已经尝试了所有的东西,但我不能得到新的一行。如果我在布局中添加一个带有id的TableRow并将我的自定义ImageView添加到其中而不将新的TableRow添加到ImageView显示的布局,但我需要动态添加新行。在我的片段中:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_default_view,
container, false);
final ViewGroup tableLayout = (ViewGroup) rootView.findViewById
(R.id.table_bracket);
TableRow.LayoutParams layoutParams = new TableRow.LayoutParams(
TableRow.LayoutParams.MATCH_PARENT,
TableRow.LayoutParams.MATCH_PARENT
);
TableRow tableRow = new TableRow(context);
tableRow.setLayoutParams(layoutParams);
SeparatorImageView separator = new SeparatorImageView(getActivity());
separator.setLayoutParams(layoutParams);
tableRow.addView(separator);
tableLayout.addView(tableRow);
return rootView;
}
这是我尝试添加的布局:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.mbusby.bracketsandbox.DefaultViewFragment">
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/table_bracket"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:stretchColumns="*">
</TableLayout>
答案 0 :(得分:0)
在tableLayout.addView(tableRow)之后添加此行;线
getWindow().getDecorView().findViewById(android.R.id.content).invalidate();
刷新tableview新添加的行将可见