diff options
author | Clyhtsuriva <aimeric@adjutor.xyz> | 2021-03-23 09:09:40 +0100 |
---|---|---|
committer | Clyhtsuriva <aimeric@adjutor.xyz> | 2021-03-23 09:09:40 +0100 |
commit | 9159505004b7d55964653747decd313bcdd6a801 (patch) | |
tree | dc695347aaddda6661ea488c5d4947128d5b0d64 /app/src | |
parent | 249cdf3a91eab6be7e4f23ae146b1fb91caf6ed4 (diff) |
Manga : Added a search button replacing return on the keyboard.
Diffstat (limited to 'app/src')
-rw-r--r-- | app/src/main/java/xyz/adjutor/aniki/manga/search/SearchMangaPage.kt | 27 | ||||
-rw-r--r-- | app/src/main/res/layout/search_manga_page.xml | 2 |
2 files changed, 27 insertions, 2 deletions
diff --git a/app/src/main/java/xyz/adjutor/aniki/manga/search/SearchMangaPage.kt b/app/src/main/java/xyz/adjutor/aniki/manga/search/SearchMangaPage.kt index f79db36..7866151 100644 --- a/app/src/main/java/xyz/adjutor/aniki/manga/search/SearchMangaPage.kt +++ b/app/src/main/java/xyz/adjutor/aniki/manga/search/SearchMangaPage.kt @@ -5,8 +5,11 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.view.inputmethod.EditorInfo import android.view.inputmethod.InputMethodManager import android.widget.Button +import android.widget.EditText +import android.widget.TextView.OnEditorActionListener import androidx.fragment.app.Fragment import androidx.navigation.fragment.findNavController import androidx.recyclerview.widget.LinearLayoutManager @@ -23,6 +26,7 @@ import retrofit2.converter.gson.GsonConverterFactory import xyz.adjutor.aniki.MainActivity import xyz.adjutor.aniki.R + class SearchMangaPage : Fragment() { val gson: Gson = GsonBuilder() @@ -48,11 +52,24 @@ class SearchMangaPage : Fragment() { findNavController().navigate(R.id.action_SearchMangaPage_to_HomePage) } - view.findViewById<Button>(R.id.button_query).setOnClickListener{ + view.findViewById<Button>(R.id.button_query).setOnClickListener { val userInput = view.findViewById<TextInputEditText>(R.id.tiet_query).text.toString() hideKeyboard() makeApiCall(view, baseUrl, userInput) } + + view.findViewById<EditText>(R.id.tiet_query) + .setOnEditorActionListener(OnEditorActionListener { v, actionId, event -> + if (actionId == EditorInfo.IME_ACTION_SEARCH) { + val userInput = + view.findViewById<TextInputEditText>(R.id.tiet_query).text.toString() + hideKeyboard() + makeApiCall(view, baseUrl, userInput) + return@OnEditorActionListener true + } + false + }) + } private fun hideKeyboard() { @@ -75,6 +92,7 @@ class SearchMangaPage : Fragment() { (recyclerView.adapter as SearchMangaAdapter).notifyDataSetChanged() } + //call the API and show the list private fun makeApiCall(view: View, BASE_URL: String, query: String) { val retrofit = Retrofit.Builder() @@ -112,8 +130,13 @@ class SearchMangaPage : Fragment() { }) } + //display a snack private fun showError() { - Snackbar.make(requireView(), "API ERROR : Verify your internet connection or your query.", Snackbar.LENGTH_LONG) + Snackbar.make( + requireView(), + "API ERROR : Verify your internet connection or your query.", + Snackbar.LENGTH_LONG + ) .setAction("Action", null).show() } diff --git a/app/src/main/res/layout/search_manga_page.xml b/app/src/main/res/layout/search_manga_page.xml index 02a62ff..cacab1d 100644 --- a/app/src/main/res/layout/search_manga_page.xml +++ b/app/src/main/res/layout/search_manga_page.xml @@ -18,6 +18,8 @@ app:layout_constraintBottom_toTopOf="@id/recycler_view" app:layout_constraintEnd_toStartOf="@id/button_query" app:layout_constraintStart_toStartOf="parent" + android:imeOptions="actionSearch" + android:inputType="text" app:layout_constraintTop_toTopOf="parent" /> <Button |