I am trying to build an autoTextView with a firestore connection.
I already built a working autoTextView application in which the data is saved directly in the strings.xml file. I also already connected firestore to my app.
What I am trying to do now is to replace this data frommy strings.xml file with a connection to firebase. So the user types something in in the autoTextView, the auto completion options should come from firebase and not from the strings.xml file.
Does anyone have an idea how I could try implementing that?
strings.xml:
<resources>
<string name="app_name">servus</string>
<string name="hint">Please type language...</string>
<string name="submit">Submit</string>
<string name="submitted_lang">Submitted language:</string>
<string-array name="Languages">
<item>Java</item>
<item>Kotlin</item>
<item>Swift</item>
<item>Python</item>
<item>Scala</item>
<item>Perl</item>
<item>Javascript</item>
<item>Jquery</item>
</string-array>
</resources>
MainActivity.kt file:
package com.example.servus
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.widget.TextView
import com.google.firebase.firestore.ktx.firestore
import com.google.firebase.ktx.Firebase
import android.view.View
import android.widget.ArrayAdapter
import android.widget.AutoCompleteTextView
import android.widget.Button
import android.widget.Toast
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val autotextView
= findViewById<AutoCompleteTextView>(R.id.autoTextView)
// Get the array of languages
val languages
= resources.getStringArray(R.array.Languages)
// Create adapter and add in AutoCompleteTextView
val adapter
= ArrayAdapter(this,
android.R.layout.simple_list_item_1, languages)
autotextView.setAdapter(adapter)
val button
= findViewById<Button>(R.id.btn); if (button != null)
{
button ?.setOnClickListener(View.OnClickListener {
val enteredText = getString(R.string.submitted_lang) + " " + autotextView.getText()
Toast.makeText(this@MainActivity, enteredText, Toast.LENGTH_SHORT).show()
})
}
}
}
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<AutoCompleteTextView
android:id="@+id/autoTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:hint="@string/hint"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.249" />
</androidx.constraintlayout.widget.ConstraintLayout>