Add Search suggestion to the header of recyclerview - java

I have an Recyclerview adapter class and searchbox as a header of recyclerview.
Everything is working fine.Now i want to get search suggestion while i type first few letters of items of Recyclerview. Using AutoCompletetextView we needs to pass adapter of Recyclerview:
setAdapter(adapter) but my problem is how should i pass adapter as i am in adapter class.

use after arraylist or dataset values changed
adapter.notifyDataSetChanged();

Related

Passing data between Fragments of a viewPager that contains recyclerViews

I don't know how to pass data between my fragments "books" and "reservedBooks" in a viewPager which is an object of my class "bookCard" and part of my recyclerView to add it to the other recyclerView in my fragment "reservedBooks" throught the click of a button "reserve" that is part of each member of the recyclerView
You need a static place for storing data for any type of your data(books and reversedbook) you can use static array or database android
Then every time that you select an item , this item must remove from books in that staic array and add to another static array for reversedbook,
And every time that you replace fragment in view pager, you must update recyclerview by notifydatachanged()

Get UI Element ID In a Fragment From Custom adapter

I'm developing an android app and I have a fragment that contains TextView & ListView in it. The list view has custom list items that contains two buttons. I want to make 'onClickListener' for one of those two buttons in my custom adapter class to change the text of the TextView, but I can't access it by findViewById() every time I try I got null exception.
My guess is that you're trying to access the TextView from inside of the Adapter.
If so, then you won't be able to get the TextView and it's normal to get a nullpointer exception.
The findViewById inside your adapter only finds the views that you have inflated in the getView() method of your adapter.
What you can do here is probably use an interface that's implemented by your Fragment to pass the information from your adapter back to the fragment.
This answer might be a good starting point : How to create interface between Fragment and adapter?

can i delete array of listView but not update listview?

I spent some time to google it, but didn't help.
I have a listview that contains an ArrayList.
Can I collect all data in array, show it in listView and delete array, but not update listView - so data will be on screen?
Yes until you scroll the list view to next visible item (or call notify item set change), then ListView ask adapter to provide object for example at 5th position and you will get ArrayIndexOutOfBoundsException or NullPointerException. So if you want to avoid that you have to copy your list elements to another ArrayList instance and pass it to your adapter.
arrayListMain.get(position).remove(arrayListChild.get(position));
notifydatasetchange();
arrayListMain is which arraylist your are use at setAdapter and arraylistChild is arrayList in your adapter

NavigationDrawer update items

I'm using the navigation drawer example in Android. What's the easiest way to change the string items in the adapter dynamically? Do I just create a new adapter and set it with my new values?
The problem is I'm altering the string items based on user state logged in and logged out. How do I access it from a non static context and just say update list adapter? It doesn't seem to be re-drawing itself and running my adapter code which is dynamic based on user state, so I guess it runs/inits once and I have to create and load a new adapter if I want to change it later?
Thanks.
You haven't given us much to go on (a little code would be nice), but you can update the data in the ListView by calling notifyDatasetChanged() on the Adapter. If you are not using a custom Adapter e.g. an ArrayAdapter then you can just create a new Adapter instance with different String values and set it to the ListView.

Change the text in a listview base adapter

I have a custom baseadapter that i use to populate a listview. each row that populates contains 4 text views in it. How can I change the text of one of these views without having to repopulate a brand new array into the adapter?
Just change the value into the array and call this method
youradapter.notifydatasetchanged()

Categories