마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

직렬화 객체 액티비티 구분법

0 추천

안녕하세요 제가 여행지 추천 어플을 기획하고 제작하고 있는데 스피너로 직렬화된 객체를 액티비티에 전달하여 그 여행지에 맞는 액티비티를 띄워주어 여행지 정보를 주는 프로그램을 만들고 있습니다

제가 해결하지 못하는 부분은 전달받은 리스트의 객체를 구분하여 조건문을 만들고 그 조건에 해당하고 넘겨받은 Country에 정보를 출력하고 싶습니다 ㅠㅠ 도와주세요 !!



    private List<Country> getCountryList() {
        List<Country> countryList = new ArrayList<Country>();
        countryList.add(new Country("Select", "여행지를 선택해주세요."));
        countryList.add(new Country("indonesia", "인도네시아"));
        countryList.add(new Country("thailand", "태국"));
        countryList.add(new Country("japan", "일본"));
        countryList.add(new Country("switzerland", "스위스"));
        return countryList;
    }
public class CountryDetailsActivity extends AppCompatActivity {

    private static final String COUNTRY = "Country";

    public static void show(Context context, Country country) {
        Intent intent = new Intent(context, CountryDetailsActivity.class);
        intent.putExtra(COUNTRY, country);
        context.startActivity(intent);
    }

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

        bindCountry();

    }

    private void bindCountry() {
        Country country = (Country) getIntent().getSerializableExtra(COUNTRY);
        Objects.requireNonNull(country);
        }
}
신희 (180 포인트) 님이 2022년 12월 5일 질문
신희님이 2022년 12월 5일 수정

1개의 답변

0 추천

- CountryDetailsActivity 에 있는 show() 함수의 역할이 CountryDetailsActivity 자신을 재구성 하는것 인가요? 
역할을 모르겠습니다.

- '전달받은 리스트의 객체를 구분하여 조건문을 만들고'  
리스트 전체를 넘겨주고 그 중에 선택한 것을 확인하려는 의도인가요? 
bindCountry() 함수에서 전달받은(이전 화면에서 선택한?) Country 를 처리하고 있는 것으로 보입니다.
이 위치에서 화면에 표현하면 되겠습니다. 
 

익명 님이 2022년 12월 5일 답변
CountryDetailsActivity.show 는 단순히 CountryDetailsActivity를 띄우는 겁니다. 코드 재사용이 쉽도록 static으로 공개한 겁니다.
...