Created
May 11, 2016 11:42
-
-
Save ReginFell/24548cc997550ef5f7710a3b12353d57 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class SearchFragment : BaseFragment(), ValueEventListener { | |
override fun getResId() = R.layout.fragment_search; | |
override fun getOptionsId() = R.menu.menu_search; | |
private val recyclerView: RecyclerView by bindView(R.id.recyclerView); | |
lateinit private var searchView: SearchView; | |
var search by bindArgument<String>(); | |
@Inject | |
lateinit var additiveManager: IAdditiveManager; | |
lateinit private var adapter: AdditiveAdapter; | |
override fun injectComponent() = Application.getApplication().additiveComponent.inject(this); | |
override fun afterViews() { | |
adapter = AdditiveAdapter(context, { | |
startActivity(AdditiveDetailsActivity.newInstance(context, adapter.filteredList as ArrayList<Additive>, it)) | |
}, { | |
val forceDialog = ForceFragmentDialog(); | |
forceDialog.show(childFragmentManager, null); | |
}); | |
recyclerView.adapter = adapter; | |
additiveManager.addAdditiveListener(this); | |
} | |
override fun onCreateOptionsMenu(menu: Menu?, inflater: MenuInflater?) { | |
super.onCreateOptionsMenu(menu, inflater) | |
var searchMenuItem = menu?.findItem(R.id.action_search); | |
searchMenuItem?.expandActionView(); | |
searchView = searchMenuItem?.actionView as SearchView; | |
searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener { | |
override fun onQueryTextSubmit(query: String): Boolean { | |
return false; | |
} | |
override fun onQueryTextChange(query: String): Boolean { | |
adapter.search(query); | |
return false; | |
} | |
}); | |
} | |
override fun onDataChange(dataSnapshot: DataSnapshot) { | |
var additiveList = ArrayList<Additive>(); | |
for (postSnapshot in dataSnapshot.children) { | |
var additive = postSnapshot.getValue(Additive::class.java); | |
additiveList.add(additive); | |
} | |
adapter.additiveList = additiveList; | |
searchView.setQuery(search, false); | |
} | |
override public fun onCancelled(firebaseError: FirebaseError) { | |
} | |
public companion object { | |
public fun newInstance(search: String): SearchFragment = SearchFragment().apply { | |
this.search = search; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment