私はアンドロイド開発の初心者で、次のことに苦労しています。プログラムで作成されたテーブルレイアウトでフラグメントを作成したいと思います。私が最初に行ったフラグメントではなく、アクティビティで開始しました。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View view = getLayoutInflater().inflate(R.layout.activity_testtable, null,false);
fillLayout(view);
setContentView(view);
}
protected void fillLayout(View rootView) {
TableLayout tl;
TableRow tr;
TextView tv;
int i = 0;
tl = (TableLayout) rootView.findViewById(R.id.time_range);
for (i = 0 ; i < 10 ; i++ ) {
tv = new CellWorkshopTable(this);
tv.setText("11h00 - 14h40" );
tr = new TableRow (this);
tr.addView(tv);
tl.addView(tr);
}
[...]
}
それはうまく機能し、テーブルは2軸などでスクロールして必要に応じて作成されました。次に、これをフラグメントに設定したかったので、フラグメントで次のことを行いました:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View aView = inflater.inflate(R.layout.activity_testtable, container, false);
fillLayout(aView);
return aView;
}
そのため、フラグメントをコミットしても何も表示されません.logcatにエラーはなく、クラッシュもありません.すべてがそこにあるようですが、何も表示されません.
ここにレイアウトがあります。目的は完全な構造を持ち、tableRow とセル (テキストビュー) を追加するだけです:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/time_table"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
android:padding="0dp"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="0dp" >
<TableLayout
android:id="@+id/time_range"
android:layout_width="wrap_content"
android:layout_height="match_parent" >
</TableLayout>
<HorizontalScrollView
android:id="@+id/horizontalScrollView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="0dp" >
<TableLayout
android:id="@+id/header_rooms"
android:layout_width="wrap_content"
android:layout_height="match_parent" >
</TableLayout>
<TableLayout
android:id="@+id/time_table_content"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</TableLayout>
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>
</ScrollView>
したがって、この質問を書いているときに、HorizontalScrollView とその子を削除してレイアウトを簡素化しようとしましたが、最初の tablelayout に追加された TableRows が表示されます
HorizontalScrollView を削除しますが、TableLayout+id/header_rooms と TableLayout+id/time_table_content を保持し、header_rooms を機能させ、time_table_content を KO にします。
フラグメントにはレイアウト数の制限がありますか?どうすればこれを回避できますか?