Java 在表布局中动态放置片段
我有个小问题。我有n个片段,我想把这些片段排成一行,但是当屏幕用完时,剩下的就转到底线,依此类推 我正在这样做:Java 在表布局中动态放置片段,java,android,android-fragments,Java,Android,Android Fragments,我有个小问题。我有n个片段,我想把这些片段排成一行,但是当屏幕用完时,剩下的就转到底线,依此类推 我正在这样做: for (int i = 0; i < n ; i++) { PresencaFragment aFragment = new PresencaFragment("Test "+i, "2017059227_11.jpg", 2017000000); getSupportFragmentManager().beginTransaction(
for (int i = 0; i < n ; i++) {
PresencaFragment aFragment = new PresencaFragment("Test "+i, "2017059227_11.jpg", 2017000000);
getSupportFragmentManager().beginTransaction().add(R.id.frag, aFragment).commit();
}
for(int i=0;i
我的片段和主片段(我把这n个片段放在主片段中)的代码是:
HomeFragment:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/txtHoras"
android:layout_marginTop="125dp"
android:focusable="true"
android:text="A carregar dados..."
android:textColor="@color/corescola"
android:textSize="25dp"
android:layout_height="40dp"
android:layout_width="match_parent"
android:textAlignment="center"
/>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_marginTop="145dp"
android:layout_marginBottom="5dp">
<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/frag"
>
</TableLayout>
</ScrollView>
</RelativeLayout>
我的片段代码是:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".PresencaFragment">
<TableLayout
android:layout_width="391dp"
android:layout_height="264dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="20dp"
android:layout_marginRight="8dp"
android:stretchColumns="1">
<TableLayout
android:layout_width="match_parent"
android:layout_height="252dp"
android:layout_marginLeft="0dp"
android:layout_marginTop="10dp"
android:stretchColumns="1">
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:background="#7EC5CAE9"
android:minHeight="55dp">
<TextView
android:id="@+id/txt_nomeAluno"
android:layout_width="378dp"
android:layout_height="40dp"
android:layout_marginTop="10dp"
android:width="300dp"
android:text="Student Name"
android:textAlignment="center"
android:textColor="#000"
android:textSize="24dp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#eee"
android:minHeight="35dp">
<TextView
android:id="@+id/txt_numero"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:width="300dp"
android:padding="10dp"
android:text="Student number: xxxxxxxxx"
android:textAlignment="center"
android:textColor="#000"
android:textSize="20dp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#eee"
android:minHeight="35dp">
<ImageView
android:id="@+id/imagem"
android:layout_width="371dp"
android:layout_height="match_parent"
tools:src="@tools:sample/avatars" />
</TableRow>
</TableLayout>
</TableLayout>
</FrameLayout>
所以,我想要这个,但得到这个:
启动片段时,您正在传递
R.id.frag
。就我所见,R.id.frag
是整个表布局的id,这意味着您要用片段替换整个表。您需要的是在正确的行id中设置每个片段
注意:在表中包含片段确实是一种糟糕的做法。如果您需要一个表布局,您应该使用其中的视图,检查一些关于它的教程,如:启动片段时,您正在传递
R.id.frag
。就我所见,R.id.frag
是整个表布局的id,这意味着您要用片段替换整个表。您需要的是在正确的行id中设置每个片段
注意:在表中包含片段确实是一种糟糕的做法。如果需要表格布局,应使用其中的视图,请查看有关该布局的教程,如下图所示: