【发布时间】:2021-09-05 10:11:32
【问题描述】:
我正在尝试使用 firestore 连接构建 autoTextView。
我已经构建了一个可以工作的 autoTextView 应用程序,其中数据直接保存在 strings.xml 文件中。我也已经将 Firestore 连接到我的应用。
我现在要做的是将我的 strings.xml 文件中的这些数据替换为与 firebase 的连接。所以用户在 autoTextView 中输入了一些东西,自动完成选项应该来自 firebase 而不是来自 strings.xml 文件。
有人知道我可以如何尝试实现它吗?
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 文件:
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>
【问题讨论】:
标签: android firebase kotlin google-cloud-firestore