오늘은 액티비티와 액티비티 간의 화면 전환이 이루어지도록 하는 코드에 대해 알아보도록 하겠습니다.
우선 2개의 액티비티가 필요한데, 우선 MainActivity의 activity_main.xml 파일에 버튼을 추가하여
버튼을 눌렀을 경우 MainActivity에서 MenuActivity로 넘어가도록 만들어봅시다.
<activity_main.xml>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_marginTop="20dp"
android:layout_marginRight="30dp"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:text="다른 액티비티로 전환하기"
android:textSize="25sp" />
</RelativeLayout>
위 코드같이 액티비티로 전환하기 위한 버튼 하나를 만들어줍니다.
그 다음 MainActivity.java 파일로 넘어가 버튼을 할당하고 버튼을 눌렀을 때 Intent를 이용하여
MenuActivity로 넘어가도록 코드를 작성해줍니다.
<MainActivity.java>
public class MainActivity extends AppCompatActivity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.button);
button_easy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplicationContext(), MenuActivity.class);
startActivity(intent);
finish();
}
});
}
}
이렇게 코드 작성이 완료되었으면 화면에 생성될 MenuActivity를 만들어보도록 합시다.
일단 MainActivity와 같이 MenuActivity의 activity_menu.xml파일을 만들어 activity_menu.xml에도
버튼을 만들어 버튼을 눌렀을 때 다시 activity_main 화면으로 돌아가도록 하는 화면을 구성해줍니다.
<activity_menu.xml>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="메인화면으로" />
</RelativeLayout>
xml파일을 다 작성했다면 이어서 MenuActivity.java 파일에도 코드를 작성해줍니다.
<MenuActivity.java>
public class MenuActivity extends AppCompatActivity {
Button button2;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
button2 = findViewById(R.id.button2);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
finish();
}
});
}
}
이렇게 코드 작성을 마치고 앱을 실행시켜보면 오류가 뜹니다.
그 이유는 MenuActivity 액티비티를 AndroidManifest에 MenuActivity를 정의하는 코드를 작성하지 않았기 때문입니다.
<AndroidManifest.xml>
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MenuActivity" />
이렇게 기존에 있는 MainActivity 처럼 MenuActivity도 추가해주면
정상적으로 MainActivity와 MenuActivity간 화면전환이 이루어지는 앱이 작동됩니다.
'안드로이드 스튜디오 앱 개발 > 개념 안드로이드 스튜디오' 카테고리의 다른 글
자바(JAVA) 언어에 대해서 확실하게 알아보자!! 그리고 자바의 객체 지향 프로그래밍이란? (0) | 2023.06.22 |
---|---|
안드로이드 스튜디오 드로어블 객체로 배경 지정하기(자바 코드) (0) | 2023.06.20 |
안드로이드 스튜디오 리사이클러뷰 아이템 전체 삭제 clear() [Android Studio] (0) | 2023.06.19 |
안드로이드 스튜디오 리사이클러뷰 만들기 [Android Studio] (0) | 2023.06.19 |
안드로이드 스튜디오 타이틀 바 글자 폰트와 색 변경하기 [Android Studio] (0) | 2023.06.15 |