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

Activity에서 Fragment로 데이터 넘기는 방법 에러가 납니다...

0 추천

하나의 액티비티에서 2개의 프래그먼트를 뿌리고있구요

어댑터로 연결하고 어댑터는 따로 클래스 만들었습니다.

계속 getargument()가 null이라서 값을 불러오지 못해서요

뭐 프래그먼트를 새로 생성하면 안된다고 들었는데

고치질 못하겠네요

조금만 도와주세요..

 

뿌리는 액티비티

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_seat);
TabFragment1 fragment1 = new TabFragment1();
Bundle bundle = new Bundle();
bundle.putInt("repo",waitingnum);
bundle.putInt("num", num);
fragment1.setArguments(bundle);

어댑터

    public class ViewHolder extends RecyclerView.ViewHolder {


        ViewHolder(View itemView) {
            super(itemView);
                    }
                }
            });
    }

    public WaitingAdapter2(List<Dbmodels> list) {
        mData = list;
    }


    @NonNull
    @Override
    public WaitingAdapter2.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        Context context = parent.getContext();
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        View view = inflater.inflate(R.layout.recyclerview_item, parent, false);
        WaitingAdapter2.ViewHolder vh = new WaitingAdapter2.ViewHolder(view);

        return vh;
    }

    @Override
    public void onBindViewHolder(@NonNull WaitingAdapter2.ViewHolder holder, int position) {
        Dbmodels item = mData.get(position);

    }

    @Override
    public int getItemCount() {
        return mData.size();
    }
}

프래그먼트1

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (getArguments() != null) {
        tablenum = getArguments().getInt("repo", 99);
        num = getArguments().getInt("num",99);
        AToast("성공"+tablenum);
    }else
        AToast("Argument null!");
}

@SuppressLint("HandlerLeak")
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View view = inflater.inflate(R.layout.fragment_tab_fragment1, container, false);
~~~~~~~~~~
코드는 이렇게 됩니다...
Gamzal (340 포인트) 님이 2019년 11월 28일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...