본문 바로가기
Android

[Android/Java] Activity - Fragment간 화면전환

by noddu 2022. 1. 20.
728x90
반응형

Fragment -> Activity 화면전환

btn_news.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Intent intent = new Intent(getActivity(), NewsActivity.class);
        startActivity(intent);
    }
});

Fragment는 this라는 객체 사용이 불가능

이 this는 해당 Context를 가르키는데 위와같이 getActivity함수를 사용하면 현재 Context를 불러와

Intent 사용이 가능하다

 

 

 


 

Activity ->  Fragment 화면전환 +  데이터 전달

UserFragment fragment_user;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);

    fragment_user = new UserFragment();

fragment_user를 초기화 해주고

 

//받아온 user 정보
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
String email = bundle.getString("email");
String password = bundle.getString("password");

나는 다른곳에서 bundle로 get해온 email과 password가 있는데

 

 

//fragment로 보낼 user 정보
bundle.putString("email",email);
bundle.putString("password",password);
fragment_user.setArguments(bundle);

그 bundle을 초기화 하지않고 다시 putString해서 key값과 value값을 작성해

fragment_user에 setArguments해줬다

 

Bundle bundle = getArguments();
String email = bundle.getString("email");
String password = bundle.getString("password");

Fragment쪽에서는 bundle로 getArguments()해준다음

bundle.setString해서 TextView에 그대로 넣어줬다

반응형