logo
down
shadow

Why LiveData returns null in ViewModel?


Why LiveData returns null in ViewModel?

Content Index :

Why LiveData returns null in ViewModel?
Tag : java , By : Eniac
Date : January 12 2021, 01:40 AM

I hope this helps . Your issue is about asynchronous nature of Rest api or retrofit calls while you are trying to get response synchronously.
 public void loadIssues(String user, String repo){
        ApiResponse response = mIssueRepository.getIssues(user, repo).getValue();
        mApiResponse.setValue(response);
    }

Comments
No Comments Right Now !

Boards Message :
You Must Login Or Sign Up to Add Your Comments .

Share : facebook icon twitter icon

LiveData.getValue() returns null with Room


Tag : android , By : user186435
Date : March 29 2020, 07:55 AM
I think the issue was by ths following , Java POJO Object , I solve this problem through this approach
    private MediatorLiveData<List<Section>> mSectionLive = new MediatorLiveData<>();
    .
    .
    .

    @Override
    public LiveData<List<Section>> getAllSections() {
        final LiveData<List<Section>> sections = mDb.sectionDAO().getAllSections();

        mSectionLive.addSource(sections, new Observer<List<Section>>() {
            @Override
            public void onChanged(@Nullable List<Section> sectionList) {
               if(sectionList == null || sectionList.isEmpty()) {
                  // Fetch data from API
               }else{
                  mSectionLive.removeSource(sections);
                  mSectionLive.setValue(sectionList);
               }
            }
        });
        return mSectionLive;
    }

Android MVVM, can you observe LiveData inside an ViewModel with another LiveData object?


Tag : android , By : Hunter
Date : March 29 2020, 07:55 AM
Hope this helps In my application I use this ViewModel: , You can use Transformations.map()
      val messages = MutableLiveData<List<Message>>()

      val hasMessages: LiveData<Boolean> = Transformations.map(messages) {
         it.isNotEmpty()
      }

LiveData + ViewModel + Room: Exposing a LiveData returned by query which changes over time (Through a fts search)


Tag : android , By : Adrian Codrington
Date : March 29 2020, 07:55 AM
I wish this help you I have an FTS query in my DAO which I'd like to use to provide search in my App. The activity passes the query to view model each time the search text is changed.
val dataSet :LiveData<List<WordMinimal>>

val searchQuery = MutableLiveData<String>()

init {
    dataSet = Transformations.switchMap(searchQuery) { query ->
        if (query == null || query.length == 0) {
            //return WordRepository.getAllWords()
        } else {
            //return WordRepository.search(query)
        }
    }
}


fun setSearchQuery(searchedText: String) {
    searchQuery.value = searchedText
}

How to test a method in viewModel which returns LiveData value from repository


Tag : android , By : silvervino
Date : March 29 2020, 07:55 AM
I think the issue was by ths following , As the question is tagged as unit-testing, IMHO, expecting real data from a web service does not actually fall into the scope of unit-testing. You might call than an integration testing, however, from the unit-testing point of view, you might consider mocking the response from the function that calls the web service and verify if the method was called using proper arguments that you expect.

How can LiveData in ViewModel observe the Livedata in Repository using Transformations?


Tag : android , By : Kyle
Date : March 29 2020, 07:55 AM
With these it helps You can ignore my other answer. The solution is using MediatorLiveData<> in your view model. You add the LiveData from the repository as a data source to the MediatorLiveData<> and call setValue or postValue (depends on if it is in the UI tread or not) in the observer onChanged callback.
Like so
    currentTransaction.addSource(application.getFinanceRepository().getTransaction(id),
            new Observer<Transaction>() {
        @Override
        public void onChanged(@Nullable Transaction transaction) {
            //Updates the MediatorLiveData<> that you activity is observing
            currentTransaction.setValue(transaction);
        }
    });
Related Posts Related QUESTIONS :
  • Why do need to use new Random() instead of just Random Randomnum?
  • I want to access zk components from the java file
  • How do I cast FieldValue.serverTimestamp() to Kotlin/Java Date Class
  • Insertion Sort Double Array with User Input - JAVA
  • Creating 2 dimesional array with user input and find sum of specific columns
  • can not get Advertising ID Provider in android
  • Convert list of Objects to map of properties
  • How to represent an undirected weighted graph in java
  • Return values as array from collection
  • ByteBuddy generic method return cast to concrete type
  • ImageView hides the round corners of the parent
  • Is there a way to find setter method by its getter method or vice versa in a class?
  • Get aggregated list of properties from list of Objects(Java 8)
  • Unable to find a document in Mongodb where exact date match in java
  • UsernamePasswordAuthenticationFilter skips success handler
  • Use Java filter on stream with in a stream filter
  • Default Login not successful in spring boot 2.1.7
  • Adding key value pairs from a file to a Hashmap
  • Rub regex: matching a char except when after by another char
  • Convert Base64 String to String Array
  • Escape Unicode Character 'POPCORN' to HTML Entity
  • An empty JSON field which is a boolean/nullable field in Java model, is getting converted as null
  • Mongo java driver cannot find public constructor for interface
  • How to unit test writing a file to AWS Lambda output stream?
  • How to make a GitHub GraphQL API Call from Java
  • What's the difference between @ComponentScan and @Bean in a context configuration?
  • Expected class or package adding a view using a class
  • can be delete of a element in a static array be O(1)?
  • Instance variable heap or stack ? ( with specific example)
  • Assert progress of ProgressBar in Espresso test
  • How to detect if gson.fromjson() has excess elements
  • I cant generate the proper code to select the a specific filter on a BI dashboard I am working on
  • How to Inject Dependencies into a Servlet Filter with Spring Boot Filter Registration Bean?
  • Thrift types as a Generic
  • Effective algorithm to random 4 unique integers less than a big max such as 100_000
  • Combining or and negation in Java regex?
  • Unable to instantiate default tuplizer Exception
  • Multi-tenant migration to work with quarkus
  • Ignite persisting a Set: Cannot find metadata for object with compact footer
  • Maven cannot resolve Jacob dependency using eclipse
  • testcontainers oracle database container starts before database user is created
  • Launching two spring boot apps in integration test
  • Is there a way to add a HashMap's value that is a integer array into a ArrayList?
  • Is there any way that I can get a parameter in paintComponent?
  • Empty stack with one recursive method and one iterative method
  • What's the behavior of onBackpressureBuffer in RxJava2
  • Java regex can only use 1 quantifier in a lookback (need 2)
  • How to fix error in native query : it is showing syntax error near or at
  • How to retrieve nested object from a document and display it in FirestoreRecyclerOptions?
  • Why not use ListIterator for full LinkedList Operation?
  • Android Webview EvaluateJavascript sometimes does not return a response
  • Matcher java doesn't work but regex seems to be good
  • Finding dimensions of a .gif file
  • Java Number format how to change +/- sign to custom text
  • Entity partially saved when using JOINED inheritance strategy and setting spring.jpa.properties.hibernate.jdbc.batch_siz
  • Stored Procedure in Java Spring Boot Project returns null as Output
  • How to solve org.hibernate.MappingException which is causing due to inheriting a class
  • Clean Archtecture. Understanding of scheme
  • Processing 3 triangle not showing in Javafx 8 Window tab
  • How to specify a sequence-based generated value in Hibernate 5 via legacy mapping
  • shadow
    Privacy Policy - Terms - Contact Us © scrbit.com