1
동적으로 채워진 TextViews 목록이 작동했습니다. 하지만 이제는 다중 열 TableView로 만들고 싶습니다. 동적으로 행을 만들고 레이아웃에 추가했지만 아무 것도 표시되지 않습니다. 누군가 내가 볼 수없는 것을 지적 할 수 있습니까?Android TableLayout 내용이 표시되지 않습니다.
디버거는 텍스트가 포함 된 textviews가 포함 된 행을 포함하는 레이아웃을 보여줍니다. match_parent 너비와 높이를 만들려고 시도했지만 아직 아무것도 표시 할 수 없습니다.
다음은 코드입니다.
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/detailScroll"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/detailLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/almost_black"
android:orientation="vertical" >
<TableLayout
android:id="@+id/detailTable"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/almost_black"
android:orientation="vertical"
android:stretchColumns="1" >
<TableRow
android:id="@+id/testRow"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/testText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Testing" />
</TableRow>
</TableLayout>
<Button
android:id="@+id/protocolButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="40sp"
android:layout_marginRight="40sp"
android:background="@drawable/protocol_button"
android:minHeight="40sp"
android:onClick="getProtocol"
android:padding="5sp"
android:text="@string/protocol_button_text" >
</Button>
</LinearLayout>
</ScrollView>
자바
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.detail);
layout = (TableLayout) this.findViewById(R.id.detailTable);
TableRow tr;
if (project.ProtocolNumber != null)
{
tr = BuildTableRow(res.getString(R.string.protocol_number_header), project.ProtocolNumber);
layout.addView(tr);
}
private TextView BuildTextView(String string)
{
TextView tv = new TextView(this);
tv.setLayoutParams(lparams);
tv.setText(Html.fromHtml(string));
tv.setTextColor(Color.BLACK);
tv.setPadding(5, 5, 5, 5);
return tv;
}// BuiltTextView
private TableRow BuildTableRow(String left, String right)
{
TableRow tr = new TableRow(this);
LayoutParams rowParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
tr.setLayoutParams(rowParams);
tr.setBackgroundColor(Color.RED);
tr.addView(BuildTextView(left));
tr.addView(BuildTextView(right));
return tr;
}
감사합니다.