我的问题是:例如,如果我在 Activity1 中有 RelativeLayout ,我可以将 RelativeLayout 发送到 Activity2 ?
在我的应用中,我在 Activity1 中有3个不同的 RelativeLayout ,如果用户点击其中一个 RelativeLayout ,我会发送它到我的下一个活动。关于如何做到的任何想法?
答案 0 :(得分:1)
你不能这样做,因为每个Activity
都有自己的布局。
您可以执行的操作是发送设置第二个Activity
的{{1}}所需的数据,使其看起来像您RelativeLayout
中Activity
Intent
附加功能。
答案 1 :(得分:1)
根据您的评论,您需要根据用户在上一屏幕中的选择加载不同的布局。这个问题可以通过几种方式解决。其中之一是将用户偏好从Activity1
传递到Activity2
。为此,请Activity1
:
int choice = 0; // assuming user made choice 0
Intent intent = new Intent(Activity1.this, Activity2.class);
intent.putExtra("choice", choice);
startActivity(choice);
现在,您可以阅读Activity2
中的第二个值,并相应地将您的布局(即不同的视图)加载为(onCreate()
内):
int choice = getIntent().getIntExtra("choice", 0); // default choice 0
switch(choice) {
case 0:
setContentView(R.layout.layout0);
break;
case 1:
setContentView(R.layout.layout1);
break;
default:
setContentView(R.layout.layout2);
}
因此,根据用户的选择,您可以选择不同的布局,然后相应地为您编写业务逻辑。
您的用例的另一个选择是为每个布局定义不同的活动,然后将startActivity()
调用到适当的活动。这将分离处理不同布局的业务逻辑,因此可以很容易维护。
您也可以采用片段方式,但最终还会使用上述方法之一。请注意,您选择的方法在很大程度上取决于您的用例,因此我无法为您做出决定。
答案 2 :(得分:0)
我只是给你一个想法,你可以使用 Intents 将数据从第一个活动发送到第二个活动,但是你可以使用第二个Activity收到的数据动态创建一个布局。添加您需要的所有参数。 我希望它能帮到你