如何为我的应用仅创建1个活动而不是100个?

时间:2017-05-25 15:19:52

标签: java android android-layout

我对Android开发相对较新,但我对java非常熟悉。

我想创建一个应用程序,显示元素周期表,每个元素都有按钮,当触摸按钮时,将显示元素的详细信息。

我不想为每个按钮创建单独的活动。我想创建一个活动,当触摸按钮时,将显示详细信息。如果我继续为每个按钮创建单独的活动,我将不得不创建100多个我不想要的活动。

如何创建一个活动,当按下元素按钮时,会显示其独特的详细信息?

2 个答案:

答案 0 :(得分:0)

您绝对不必为每个元素创建单独的活动。

获得元素列表后,您可以将元素从mainActivity传递给detailsActivity,并使用适配器使用所选元素对详细活动进行充气。

步骤如下:

  1. 创建元素的Model类:

    public Class Element {
        // params
        // constructor
        // getters and setters
        // implement parcelable
    }
    
  2. 创建元素列表:

    List<Element> list = new List<>();
    
    list.add(new Element(/* pass your params */));
    ...
    
  3. 如果您已经拥有了元素网格的Main_Activity,请创建第二个detailsActivity()

    public class detailsActivity extends AppCompatActivity {
        @Override protected void onCreate(Bundle b) {}
    }
    
  4. 使用IntentBundle点击网格时,将元素从MainActivity传递到detailsActivity:

    Intent details = new Intent();
    Bundle b = new Bundle();
    b.putParcelable("selected", element);
    details.putExtras(b);
    startActivity(details);
    
  5. 使用所选元素创建适配器以使您的detailsActivity膨胀。

答案 1 :(得分:0)

为此你可以通过片段简单地实现这一点。在一个片段中,让我们说片段1你保留按钮,而在另一个片段中让我们说片段2你保留细节。每当您按下fragment1中的按钮时,都会通过Bundle将详细信息发送到fragment2并更新fragment2中的详细信息。

通过这个,您将只使用一个活动和两个片段。

参加本教程,这将有助于您了解片段。 http://www.vogella.com/tutorials/AndroidFragments/article.html