Skip to content

gzeinnumer/ViewModelLiveDataExample

Repository files navigation

ViewModelLiveDataExample

LiveData

  • Add dependencies on Gradle
implementation "androidx.lifecycle:lifecycle-viewmodel:2.2.0"
  • Make Class MainVM.
public class MainVM extends ViewModel {

    private final MutableLiveData<String> _str = new MutableLiveData<>();
    
    public MainVM() {
    }

    public MutableLiveData<String> getStr() {
        return _str;
    }
    
    public void setStr(String str) {
        _str.setValue(str);
    }
}
  • Use ViewModel on activity
public class MainActivity extends AppCompatActivity {

    private static final String TAG = "MainActivity";

    MainVM viewModel;

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

        viewModel = new ViewModelProvider(this).get(MainVM.class);

        viewModel.setStr("Hallo GZeinNumer");

        viewModel.getStr().observe(this, new Observer<String>() {
            @Override
            public void onChanged(String s) {
                Log.d(TAG, "onChanged: "+s);
            }
        });
    }
}

Copyright 2020 M. Fadli Zein

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages