🌐 웹개발/웹 개발

[Android | Java] ViewModel을 이용하여 프래그먼트 간 데이터 전송

2023. 4. 25. 20:56
목차
  1. ViewModel을 이용한 Fragment 간의 데이터 전송 방법
  2. SEND
  3. RECEIVE
  4. VIEWMODEL

ViewModel을 이용한 Fragment 간의 데이터 전송 방법

검색하다가 코틀린 코드만 나오고 자바는 잘 안나와서 너무 힘들었다

그래서 블로그에 기록해서 널리널리 퍼트리기 👽🌏👍

 

SEND

       SharedViewModel searchViewModel = new ViewModelProvider(requireActivity()).get(SharedViewModel.class);
       binding.allList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                searchViewModel.sendMessage(CityName[i]);
                activity.changeFragment(5);
            }
        });

RECEIVE

        final Observer<String> selectObserver = new Observer<String>() {
            @Override
            public void onChanged(@Nullable final String s) {
                spinnerBtn.setText(s);
            }
        };

        SharedViewModel searchViewModel = new ViewModelProvider(requireActivity()).get(SharedViewModel.class);
        searchViewModel.getMessage().observe(getViewLifecycleOwner(), selectObserver);

VIEWMODEL

package com.example.zaevtour.ui.search;

import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel;
import kotlin.Metadata;
import kotlin.jvm.internal.Intrinsics;
import org.jetbrains.annotations.NotNull;

public final class SharedViewModel extends ViewModel {
    @NotNull
    private final MutableLiveData message = new MutableLiveData();

    @NotNull
    public final MutableLiveData getMessage() {
        return this.message;
    }

    public final void sendMessage(@NotNull String text) {
        Intrinsics.checkNotNullParameter(text, "text");
        this.message.setValue(text);
    }
}

 

728x90
저작자표시 (새창열림)

'🌐 웹개발 > 웹 개발' 카테고리의 다른 글

[React | JS] Github pages에 배포하기  (0) 2023.04.25
[React | JS] SyntaxError: Cannot use import statement outside a module  (0) 2023.04.25
Web은 무엇인가 | 웹 브라우저에 URL을 입력했을 때 | 🌏웹웹웹🌏  (0) 2023.04.11
[Github pages] 404 There isn't a GitHub Pages site here.  (0) 2023.04.05
[JS | nodejs] nodemon 자동으로 서버 재시작해주는 도구  (0) 2023.04.05
  1. ViewModel을 이용한 Fragment 간의 데이터 전송 방법
  2. SEND
  3. RECEIVE
  4. VIEWMODEL
'🌐 웹개발/웹 개발' 카테고리의 다른 글
  • [React | JS] Github pages에 배포하기
  • [React | JS] SyntaxError: Cannot use import statement outside a module
  • Web은 무엇인가 | 웹 브라우저에 URL을 입력했을 때 | 🌏웹웹웹🌏
  • [Github pages] 404 There isn't a GitHub Pages site here.
두_두
두_두
피할 수 없으면 냅다 즐겨버리기 💚
왜안되지피할 수 없으면 냅다 즐겨버리기 💚
두_두
왜안되지
두_두
전체
오늘
어제
  • 분류 전체보기 (96)
    • 🌐 웹개발 (30)
      • React (4)
      • 웹 개발 (17)
      • API (3)
    • 💡코딩테스트 (56)
      • 프로그래머스 (49)
      • Leetcode (4)
      • 백준 (3)
    • 📓STUDY (10)
      • 알고리즘 (5)
      • OS (3)
      • 네트워크 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 쉿🤫 두_두는 블로그 이사중🚛

인기 글

태그

  • 공룡책
  • jQuery
  • 코딩테스트
  • DP
  • 자바스크립트
  • 컨텍스트
  • 그래프
  • BFS
  • github pages
  • Github
  • leetcode
  • 뷰
  • nuxt
  • 리트코드
  • programmers
  • 리액트
  • 코테
  • 프로그래머스
  • deque
  • 파이썬
  • 제이쿼리
  • dfs
  • react
  • vue
  • set
  • JS
  • Python
  • 그리디
  • 개발
  • JavaScript

최근 댓글

최근 글

hELLO · Designed By 정상우.
두_두
[Android | Java] ViewModel을 이용하여 프래그먼트 간 데이터 전송
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.