私はAndroidには新しく、1つのボタンを2つのアクティビティで開くようにしようとしていますが、私には効果がありません。 EX用 :Mainacitivity
上 が、そこbtn_mathematics
があるとbtn_physics
同じ活性(Main2acitivity
)を開き、btn_semester1
とbtn_semester2
を見つけ、各ボタンは、学期モジュールの2つのその他の活動を開きます。条件付きのボタン
Mainacitivity上のユーザーがクリックした場合:btn_semester1同じボタンをクリックした場合 btn_mathematics
--->btn_semester1
--->ModulesMAT
となります。 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:あなたがに認識するためのIDを渡すことができMainActivityで
@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'を通じて活動の間でデータを渡すことができます。ここに例がありますhttps://stackoverflow.com/a/2091482/1552587 – Titus
コメントありがとう、私のコードの例がありますか? – itray