2016-12-15 37 views
0

我遇到了问题。调用一个类来在RelativeLayout子元素中显示一个表

我有一个复杂的阶级谁创建一个大表:

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

您并未将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)); 
+0

感谢罗马,现在的工作完美=) –

+0

好,标记问题的回答,请。 –

相关问题