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

activity에서 firebase 정보를 추출해 fragment에서 sqlite를 통해 다른 정보 추출

0 추천
activity에서 firebase를 통해 pettype과 effect의 정보를 받아 fragment 리사이클뷰에서 이 정보를 통해 sqlite의 다른 정보를 추출해내는 코드를 짰는데요, activity->framgment로 정보를 옮기는 과정에서 에러가 계속 뜨는 거같은데, 혹시 해결방법 알려주실 분 계신가요 ㅠㅠ
//activity 부분
reference = FirebaseDatabase.getInstance().getReference("Cookforpet");
DatabaseReference usertype = reference.child("UserAccount").child(user.getUid()).child("pettype");
usertype.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot snapshot) {
        String tmp =snapshot.getValue().toString();
        if (tmp.equals("Dog"))
            pettype = 2;
        else if (tmp.equals("Cat"))
            pettype = 3;
    }
    @Override
    public void onCancelled(@NonNull DatabaseError error) {
    }
});
DatabaseReference usereffect = reference.child("UserAccount").child(user.getUid()).child("effect");
usereffect.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot snapshot) {
        effect=snapshot.getValue().toString();
    }
    @Override
    public void onCancelled(@NonNull DatabaseError error) {

    }
});
//activity->fragemnt 이동 코드
public void onFragmentChanged(int index){
    if (index == 0) {
        getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, recommendFragment).commit();
    } else if (index == 1){
        getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, resultFragment).commit();
    }
//fragment에서 코드 받아오는 부분
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    rootView = (ViewGroup) inflater.inflate(R.layout.fragment_recommend, container, false);
    recycler_rcp =(RecyclerView) rootView .findViewById(R.id.recycler_rcp);
    LinearLayoutManager layoutManager =
            new LinearLayoutManager(activity, LinearLayoutManager.VERTICAL, false);
    recycler_rcp.setLayoutManager(layoutManager);

    adapter = new RecipeItemAdapter();


    petType=activity.pettype;
    effect=activity.effect;
    recipe_code = activity.dbAc.getRecommendCode(petType, effect);//이부분에서 계속 에러남!!
    ArrayList<ArrayList<String>> Recipelist = activity.dbAc.getRecipelist(recipe_code);
    for (int i = 0; i < Recipelist.size(); i++) {
        adapter.addItem(new RecipeItem(Recipelist.get(i).get(0), Recipelist.get(i).get(1), Recipelist.get(i).get(8), Recipelist.get(i).get(2),
                Recipelist.get(i).get(3), Recipelist.get(i).get(4), Recipelist.get(i).get(5), Recipelist.get(i).get(6),
                Recipelist.get(i).get(7)));
    }
    return rootView;
}
haky619 (190 포인트) 님이 2022년 3월 29일 질문

답변 달기

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