반응형
안드로이드 스튜디오 버튼 클릭시 화면 전환 앱 종료 현상
activity_main에서 버튼 클릭 시
activity_result로 넘어가고 싶었는데
버튼을 클릭하면 자꾸 app이 강제 종료되기에..
왜 그럴까.. 한참을 고민하던 도중..
구글링을 통해 해결 방법을 찾았습니다.
Manifasts에 activity_result layout에서 사용할
ResultActivity를 설정 안했기 때문이더군요.
위와 같이 activity를 설정하면,
Intent를 사용하여 화면을 전환할 수 있습니다.
아래는 연습용 코드입니다.
아래와 같이 설정해 놓으시고 안되시는 분들은
'공개 댓글'로 문의주시면
감사하겠습니다.
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button imageButton = (Button) findViewById(R.id.btn1);
imageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getApplicationContext(), SubActivity.class);
startActivity(intent);
}
});
}
}
SubActivity.java
public class SubActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.subactivity_main);
}
}
activity_main.xml
<LinearLayout 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"
android:orientation="vertical"
android:gravity="center"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="첫번째 화면입니다."
android:textSize="50dp"/>
<LinearLayout
android:layout_marginTop="20dp"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="화면전환"/>
</LinearLayout>
</LinearLayout>
subactivity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="화면을 전환했습니다."
android:textSize="40dp"/>
</LinearLayout>
아래 사진과 같이 Manifasts에 설정해주시면 됩니다.
해당 포스팅은 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
반응형