我一直试图在我的对话框中显示一些数据。
在对话框中,我有一个复选框和两个显示的按钮,所以我知道它正在加载我的布局文件。
我不确定还能做什么,为什么我的对话框背景完全透明,更重要的是,为什么我在实验的两个视图中看不到任何内容?
这是我的整个布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<CheckBox
android:id="@+id/show_all_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Include books read" />
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<Button
android:id="@+id/books_by_author_select_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add Books" />
<Button
android:id="@+id/books_by_author_cancel_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cancel" />
</LinearLayout>
<TableLayout android:id="@+id/books_by_author_list" android:layout_width="fill_parent" android:layout_height="wrap_content" android:stretchColumns="0">
<TableRow android:id="@+id/TableRow01" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView android:id="@+id/TextView01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="textfield 1-1"></TextView>
<CheckBox android:id="@+id/CheckBox01" android:layout_width="wrap_content" android:layout_height="wrap_content"></CheckBox>
</TableRow>
</TableLayout>
</LinearLayout>
我也用ListView
尝试了这个但结果相同。对话框在两个按钮的正下方是透明的。
TableLayout
完成初始化时有九个孩子,由于它没有显示,我在上面的xml中添加了TableRow
,原来该块不存在。< / p>
this.mContext = context;
setContentView(R.layout.books_by_author);
final TableLayout view = (TableLayout) findViewById(R.id.books_by_author_list);
for(int position = 0; position < list.size(); position++) {
TableLayout table = (TableLayout) findViewById(R.id.books_by_author_list);
// create a new TableRow
TableRow row = new TableRow(mContext);
// create a new TextView
TextView t = new TextView(mContext);
// set the text to "text xx"
t.setText(list.get(position).mTitle);
// create a CheckBox
CheckBox c = new CheckBox(mContext);
// add the TextView and the CheckBox to the new TableRow
row.addView(t);
row.addView(c);
// add the TableRow to the TableLayout
table.addView(row,new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
}
view.invalidate();
我尝试使用ListView
并使用ArrayAdapter
,我创建了一个扩展ArrayAdapter
和BaseAdapter
的自定义适配器。
我还明确将ListView
和TableLayout
的背景设置为Color.YELLOW,并尝试设置其他颜色,但没有任何帮助。
答案 0 :(得分:0)
TableLayout在许多情况下不起作用。此外,在运行您的应用程序时,TableLayout会产生问题。
总是喜欢使用LinearLayout或FrameLayout。
Linearlayout可以适合您使用TableLayout的任何地方。
答案 1 :(得分:0)
解决方案:问题在于LinearLayout
包含按钮的fill_parent
而不是wrap_content
属性layout_height
。