【发布时间】:2017-10-21 05:59:02
【问题描述】:
我是 Android 新手,我试图让一个按钮打开 2 个活动,但不适合我。
例如:
在Mainacitivity 上有btn_mathematics 和btn_physics 打开同一个活动(Main2acitivity)并找到btn_semester1 和btn_semester2,每个按钮将打开学期模块的其他2 个活动。
如果 Mainacitivity 上的用户点击:
btn_mathematics ---> btn_semester1---> 将有 ModulesMAT
如果单击 btn_semester1 相同的按钮:
btn_physics ---> btn_semester1 ---> 将有 ModulesPHY 。
MainActivity XML:
<Button
android:id="@+id/btn_mathematics"
android:onClick="btn_mathematics"
android:text="@string/btn_mathematics/>
<Button
android:id="@+id/btn_physics"
android:onClick="btn_physics"
android:text="@string/btn_physics"/>
Main2Activity XML:
<Button
android:id="@+id/btn_semester1"
android:onClick="btn_semester1"
android:text="@string/btn_semester1"/>
<Button
android:id="@+id/btn_semester2"
android:onClick="btn_s2"
android:text="@string/btn_semester2"/>
我想ModulesMAT和ModulesPHY不需要添加xml,和其他的很相似。
现在是java代码:
MainActivity.java:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void btn_mathematics (View v) {
Intent intent = new Intent(MainActivity.this, Main2Activity.class);
startActivity(intent);
}
`public void btn_physics (View v) {
Intent intent = new Intent(MainActivity.this, Main2Activity.class);
startActivity(intent);
}
}
Main2Activity.java:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
}
public void btn_semester1 (View v)
{
Intent i = getIntent();
String id = i.getStringExtra("id");
if(id == "btn_mathematics")
{
i = new Intent(this, ModulesMAT.class);
startActivity(i);
}
else if (id == "btn_physics")
{
i = new Intent(this, ModulesPHY.class);
startActivity(i);
}
}
public void btn_semester2 (View v)
{
Intent i = getIntent();
String id = i.getStringExtra("id");
if(id == "btn_mathematics")
{
i = new Intent(this, ModulesMAT2.class);
startActivity(i);
}
else if (id == "btn_physics")
{
i = new Intent(this, ModulesPHY2.class);
startActivity(i);
}
}
【问题讨论】:
-
您可以通过
Intent在活动之间传递数据。这是一个例子stackoverflow.com/a/2091482/1552587 -
感谢您的评论,我的代码可以举个例子吗?
标签: java android android-layout android-button