Android Studio Single活动可充当许多人

时间:2018-07-11 03:25:03

标签: android android-studio arraylist android-recyclerview android-button

我到处都看过,但似乎找不到我想要的东西。我有一个带有多个按钮的活动,每个按钮打开一个新的活动,该活动具有相同的recyclerview布局,但数据不同。我想知道是否可以使用一个活动和布局而不是多个?这样,不必进行10多个活动(每个按钮一个),而只需单击一个按钮,然后将必要的列表数据传递给它就可以管理一个活动。

我相信您可以为每个按钮设置意图,以调用相同的活动,但使用1-10之类的整数,在活动中它将取值并决定应显示哪个列表?如果有人想到如何做到这一点或更简单的方法,我将不胜感激!

2 个答案:

答案 0 :(得分:1)

是的,有多种方法可以做到这一点。

  1. 您可以在同一活动中使用多个片段。然后在每次单击按钮时添加/删除片段。
  2. 您的活动中可以有多个布局。假设您有两个按钮,并且有三个布局<Route path="/parent/" component={Parent} /> <Route path="/parent/child/" component={Child} /> layout1layout2,一个接一个地顺序排列。因此,如果最初显示layout3,而其余部分使用layout1消失了,那么如果您单击layout.setVisiblity(View.GONE),则ypu可以执行button1,反之亦然,可以按下{{1} }。

答案 1 :(得分:0)

通过按钮打开的所有活动是否都相似?如果是这样,您只能处理布局元素中的更改并指定条件。

例如,如果您单击按钮,而不是更改整个内容,则只需进入按钮并使用btn.setText("...")更改其文本。您可以在该按钮的onClickListener内定义不同的条件语句。 可能是这样的:

if(btn.getText().equals("a certain text that you set to the button")){
    doSomething();
else if(btn.getText().equals("another option")){
    doSomethingElse();

按照此逻辑,您可以不断更新布局中的元素,并且代码将根据这些元素中存储的内容来决定要执行的操作。

我想到的第二个选择是创建不同的xml布局文件,并根据您所处过程的哪个阶段将MainActivity的布局更改为适当的布局。

我希望这会有所帮助