본문 바로가기
Android

[안드로이드] Bundle

by Sky Titan 2020. 10. 22.
728x90
 

Bundle  |  Android 개발자  |  Android Developers

 

developer.android.com

Bundle

  • 여러 가지 타입의 데이터들을 String 형태의 Key 값과 함께 저장하는 Map 클래스
  • onSaveInstanceState에서 Bundle로 데이터들을 저장하고 onCreate에서 저장된 Bundle 객체를 가지고 와서 사용한다.
  • 그 외에 액티비티 간 통신 할 때에도 Bundle로 데이터를 주고 받는다.
package org.techtown.test;

import android.os.Bundle;

import androidx.fragment.app.Fragment;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import java.util.ArrayList;

/**
 * A simple {@link Fragment} subclass.
 * Use the {@link BlankFragment#newInstance} factory method to
 * create an instance of this fragment.
 */
public class BlankFragment extends Fragment {


    private View view;
    private String str = " ";
    TextView textView;
    public BlankFragment() {
        // Required empty public constructor
    }

    public static BlankFragment newInstance(String str) {
        BlankFragment fragment = new BlankFragment();
        Bundle args = new Bundle();

        args.putString("str", str);

        fragment.setArguments(args);
        return fragment;
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        if(getArguments() != null)
        {
            str = getArguments().getString("str");
        }
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        view = inflater.inflate(R.layout.fragment_blank, container, false);

        textView = (TextView) view.findViewById(R.id.text_fragment);
        textView.setText(str);

        return view;
    }
}

 

728x90

댓글