プログラムで TableLayout に行を追加しようとしています。しかし、それは見えません。
これが私のコードです:
// Get the TableLayout
TableLayout tl = (TableLayout) getActivity().findViewById(R.id.table_child_data_01);
TableRow tr = new TableRow(getActivity());
tr.setId(100);
tr.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT));
// Create a TextView to house the name of the province
TextView labelTV = new TextView(getActivity());
labelTV.setId(200);
labelTV.setText("DynamicTV");
labelTV.setTextColor(Color.BLACK);
labelTV.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
tr.addView(labelTV);
// Create a TextView to house the value of the after-tax income
TextView valueTV = new TextView(getActivity());
valueTV.setId(300);
valueTV.setText("$0");
valueTV.setTextColor(Color.BLACK);
valueTV.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
tr.addView(valueTV);
// Create a TextView to house the value of the after-tax income
TextView valueTV2 = new TextView(getActivity());
valueTV2.setId(400);
valueTV2.setText("00");
valueTV2.setTextColor(Color.BLACK);
valueTV2.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
tr.addView(valueTV2);
// Add the TableRow to the TableLayout
tl.addView(tr, new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
Utilities.ShowToastMsg(getActivity(), "Row added");
何か不足していますか?
上記のコードはアクティビティではなくフラグメント内にあるため、getActivity()
代わりに使用しています。this
編集:
同じ問題を抱えた他の 2 つのスレッドで、次の解決策を見つけました。
import TableRow.LayoutParams.MATCH_PARENT;
の代わりに使用import android.view.ViewGroup.LayoutParams;
TableRow tr のレイアウト パラメータを設定する際TableRow.LayoutParams.MATCH_PARENT
の代わりに使用します。LayoutParams.MATCH_PARENT
しかし、上記のどれも私にとってはうまくいきませんでした。