Androidアプリ:ボタンをタップして別画面に遷移する
ボタンをタップしたら別画面に遷移させる方法です。
以下の例では、メイン画面の「ボタン」をクリックすると、サブ画面に移動し、サブ画面の「終了」ボタンを押すとメイン画面に戻ってきます。
メイン画面
activity_main.xml
ボタンを配置します。
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="ボタン"
android:textSize="30sp"
/>
MainActivity.java
ボタンをクリックしたら遷移する、という処理を書きます。
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1 = findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Intent intent = new Intent(getApplication(),SubActivity.class);
startActivity(intent);
}
});
}
サブ画面(遷移先)
activity_sub.xml
サブ画面のレイアウトファイルです。ここでは終了ボタンのみ配置します。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".SubActivity">
<Button
android:id="@+id/back"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:text="終了"
/>
</LinearLayout>
</LinearLayout>
SubActivity.java
public class SubActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub);
Button endButton = findViewById(R.id.endButton);
endButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
finish();
}
});
}
}
AndroidManifest.xml
AndroidManifest.xmlに以下を追加します。
<activity android:name=".SubActivity"
android:label="@string/app_name">
</activity>
関連記事