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

안드로이드 스튜디오 공부하고 있는데 다른 액티비티에 있는 아이디를 어떻게 가져와야되나요?

0 추천

Createpopup.xml 이라는 액티비티에서 버튼을 클릭하면
fragment_home.xml이라는 액티비티 내에 있는 id가 grouplist인 linearlayout안에
list_item 이라는 액티비티에 있는 코드를 추가시키고 싶은데
잘 안됩니다 ㅜㅜ

 

fragment_home 쪽에서는

Intent intent = new Intent(getActivity(), PopupCreateActivity.class);
Bundle bundle = new Bundle();
bundle.putInt("LIST_ID", R.id.grouplist);
intent.putExtras(bundle);

이런식으로 아이디를 보냈고

Createpopup 쪽에서는

Bundle bundle = getIntent().getExtras();
if (bundle != null) {
    int listID = bundle.getInt("LIST_ID", 0);
    if (listID != 0) {
        groupList = findViewById(listID);
        Button createButton = findViewById(R.id.createbtn);
        createButton.setOnClickListener(this);
    }
}

이렇게 받았고

버튼쪽에는

@Override
public void onClick(View view) {
    View customListItem = LayoutInflater.from(this).inflate(R.layout.list_item, groupList, false);

    if (groupList == null) {
        // groupList null인 경우 처리할 작업
        // 예를 들어, Log 메시지 출력 또는 다른 초기화 작업 등을 수행할 수 있습니다.
        Log.e("PopupCreateActivity", "groupList is null");
    } else {
        // groupList null이 아닌 경우
        // groupList를 사용한 작업 수행
        groupList.addView(customListItem);
    }
}

 

이런 식으로 코드 짰는데 버튼을 눌러도 생성이 안됩니다 ㅠ
grouplist라는 아이디를 어떻게 가져와야 되는지 잘 모르겠습니다.

 

하루살이00 (120 포인트) 님이 2023년 11월 19일 질문

1개의 답변

0 추천
fragment_home에서 startActivityForResult를 사용하셔서  Createpopup 오픈하시고

Createpopup 에서는 setResult를 통해서 값을 리턴해 주세요. fragment_home에서는 리턴된 값을 이용해서 필요한 곳에 추가해 주시면 됩니다.

아래 안드로이드 문서 참조하시구요.

https://developer.android.com/reference/android/app/Activity
https://www.javatpoint.com/android-startactivityforresult-example
spark (227,530 포인트) 님이 2023년 11월 20일 답변
spark님이 2023년 11월 20일 수정
...