我对Android开发相对较新,但我对java非常熟悉。
我想创建一个应用程序,显示元素周期表,每个元素都有按钮,当触摸按钮时,将显示元素的详细信息。
我不想为每个按钮创建单独的活动。我想创建一个活动,当触摸按钮时,将显示详细信息。如果我继续为每个按钮创建单独的活动,我将不得不创建100多个我不想要的活动。
如何创建一个活动,当按下元素按钮时,会显示其独特的详细信息?
答案 0 :(得分:0)
您绝对不必为每个元素创建单独的活动。
获得元素列表后,您可以将元素从mainActivity
传递给detailsActivity
,并使用适配器使用所选元素对详细活动进行充气。
步骤如下:
创建元素的Model类:
public Class Element {
// params
// constructor
// getters and setters
// implement parcelable
}
创建元素列表:
List<Element> list = new List<>();
list.add(new Element(/* pass your params */));
...
如果您已经拥有了元素网格的Main_Activity,请创建第二个detailsActivity()
:
public class detailsActivity extends AppCompatActivity {
@Override protected void onCreate(Bundle b) {}
}
使用Intent
和Bundle
点击网格时,将元素从MainActivity传递到detailsActivity:
Intent details = new Intent();
Bundle b = new Bundle();
b.putParcelable("selected", element);
details.putExtras(b);
startActivity(details);
使用所选元素创建适配器以使您的detailsActivity膨胀。
答案 1 :(得分:0)
为此你可以通过片段简单地实现这一点。在一个片段中,让我们说片段1你保留按钮,而在另一个片段中让我们说片段2你保留细节。每当您按下fragment1中的按钮时,都会通过Bundle将详细信息发送到fragment2并更新fragment2中的详细信息。
通过这个,您将只使用一个活动和两个片段。
参加本教程,这将有助于您了解片段。 http://www.vogella.com/tutorials/AndroidFragments/article.html