我创建了一个MainActivity
,它的布局有不同的元素;例如:TextBox, EditBox, Button
。
我创建的ChildActivity
已从MainActivity
延伸,ChildActivity
也有Layout
。
我的问题是,我可以使用MainActivity
的布局元素并将其显示在ChildActivity
答案 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);
}
}