我有一个问题。
我有一个创建大表的复杂类:
Table(Context context,String[][] matrix)
我使用说明从ActivityMain
调用该类:
Table table = new Table(this,Matrix);
setContentView(table);
完美地将桌子扩展到所有屏幕。
这是问题所在。现在我想要工具栏菜单的一些空间,所以我修改XML
以这种方式创建它:
RelativeLayout
Toolbar Menu (child)
RelativeLayout (child)
RelativeLayout
但是当我打电话给班级来创建表格时,仍然将它展开很长时间所有的屏幕,我看不到菜单。我的想法是在工具栏菜单下面的第二个RelativeLayout
内创建表。
但我不知道该把它放在这里:
Table table = new Table(_____HERE______,Matrix);
setContentView(table);
我不想修改课程Table
,因此有一种方法可以在ActivityMain
中显示第二个RelativeLayout
内的表格让我看到ToolbarMenu
?
谢谢!
答案 0 :(得分:0)
您没有在布局中添加Table
,而是替换它。
最简单的解决方法是在您的活动布局中创建一个容器layout
,例如FrameLayout
,并在其中添加Table
。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="55dp"
android:id="@+id/toolbar"/>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/toolbar"
android:id="@+id/container"/>
</RelativeLayout>
在你的活动中做:
setContentView(R.layout.main_activity);
FrameLayout container = (FrameLayout) findViewById(R.id.container);
container.addView(new Table(this,Matrix));