Java 如何仅创建一个活动而不是100+;我的应用程序?

Java 如何仅创建一个活动而不是100+;我的应用程序?,java,android,android-layout,Java,Android,Android Layout,我对Android开发相对较新,但是我非常熟悉java 我想创建一个应用程序,显示元素周期表,每个元素都有按钮,当按下按钮时,元素的细节就会显示出来 我不想为每个按钮创建单独的活动。我只想创建一个活动,当按下一个按钮时,它的详细信息就会显示出来。如果我继续为每个按钮创建单独的活动,我将不得不创建100多个活动,这是我不想要的 我怎样才能只创建一个活动,当按下一个元素的按钮时,它的独特细节就会显示出来?您完全不必为每个元素创建单独的活动 获得元素列表后,您可以将元素从main活动传递到detail

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

我想创建一个应用程序,显示元素周期表,每个元素都有按钮,当按下按钮时,元素的细节就会显示出来

我不想为每个按钮创建单独的活动。我只想创建一个活动,当按下一个按钮时,它的详细信息就会显示出来。如果我继续为每个按钮创建单独的活动,我将不得不创建100多个活动,这是我不想要的


我怎样才能只创建一个活动,当按下一个元素的按钮时,它的独特细节就会显示出来?

您完全不必为每个元素创建单独的活动

获得元素列表后,您可以将元素从
main活动
传递到
detailsActivity
,并使用适配器将所选元素充气

步骤如下:

  • 创建图元的模型类:

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

    List<Element> list = new List<>();
    
    list.add(new Element(/* pass your params */));
    ...
    
  • 使用
    Intent
    Bundle
    单击网格时,将元素从MainActivity传递到detailsActivity:

    Intent details = new Intent();
    Bundle b = new Bundle();
    b.putParcelable("selected", element);
    details.putExtras(b);
    startActivity(details);
    
  • 创建一个适配器,用所选元素增强detailsActivity


  • 为此,您可以简单地通过片段来实现。在一个片段中,假设fragment1保留按钮,在另一个片段中,假设fragment2保留细节。每当您按下fragment1中的按钮时,将详细信息按捆绑发送到fragment2,并更新fragment2中的详细信息

    这样,您将只使用一个活动和两个片段

    以本教程为例,这将帮助您理解片段。

    创建详细信息活动。当按下MainActivity中的按钮时,使用Intent传递元素的详细信息,并在details activity中显示它。元素的可能重复
    Intent details = new Intent();
    Bundle b = new Bundle();
    b.putParcelable("selected", element);
    details.putExtras(b);
    startActivity(details);