子活动是否也可以使用父活动布局元素?

时间:2016-07-11 09:01:11

标签: android android-layout

我创建了一个MainActivity,它的布局有不同的元素;例如:TextBox, EditBox, Button

我创建的ChildActivity已从MainActivity延伸,ChildActivity也有Layout

我的问题是,我可以使用MainActivity的布局元素并将其显示在ChildActivity

2 个答案:

答案 0 :(得分:1)

您可以使用的元素取决于您在onCreate中传递给setContentView(R.layout.my_layout_file);的布局文件。所以,如果您为两个活动提供相同的布局文件,则可以在两者中使用它们,但它们将被视为单独的布局。例如。如果您在Main中的textview中设置了一些文本,它将不会显示在Child中。

答案 1 :(得分:1)

是的,您可以通过在父活动布局中添加子活动布局来访问parent-activity元素。这样,您可以在子活动中扩充两个布局。

ViewGroup viewGroup; 是父活动中的子布局容器。

父活动 NormalActivity

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    ViewGroup viewGroup;
    protected void onCreate(Bundle savedInstanceState,int res) {
        onCreate(savedInstanceState);
        viewGroup = (ViewGroup) findViewById(R.id.childContainer);
        viewGroup.addView(LayoutInflater.from(this).inflate(res, viewGroup,false));
    }
}

儿童活动

public class ChildActivity extends MainActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState,R.layout.child_layout);

    }

}