我已经创建了一个MainActivity,它有一个具有不同元素的布局;例如:TextBox, EditBox, Button。
我创建了一个从ChildActivity扩展而来的MainActivity,ChildActivity也有一个Layout。
我的问题是,我能否使用MainActivity的布局元素并在我的ChildActivity中显示它们?
发布于 2016-07-11 09:10:25
可以使用的元素取决于在setContentView(R.layout.my_layout_file);中传递给onCreate的布局文件。因此,如果给两个活动都提供相同的布局文件,您可以在这两个活动中使用它们,但它们将被视为单独的布局。例如,如果您在主文本视图中设置了一些文本,它将不会在子视图中显示。
发布于 2016-07-11 09:17:57
是的,您可以通过在父活动layout.this中添加子活动布局来访问父活动元素,您可以在子活动中夸大这两个布局。
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);
}
}https://stackoverflow.com/questions/38302950
复制相似问题