有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java设置Firebase中AutoCompleteTextView材质下拉列表的选定值

我正在使用AutoCompleteTextView材料下拉列表向我的Firebase数据库添加信息。这工作正常,信息被正确捕获

我现在希望允许我的用户编辑他们以前添加到数据库中的信息。我知道如何更新普通的EditText视图,但当我对AutoCompleteTextView使用相同的方法时,下拉列表仅显示存储在Firebase中的值,而不显示选项的完整下拉列表,因此用户可以根据需要选择新值

我用于显示存储在这些下拉列表的数据库中的当前选定值的代码是

 String activityType = data.getStringExtra("Activity_Type");

然后,我使用此代码填充下拉列表

editActivityTypeLayout = findViewById(R.id.editActivityTypeLayout);
    editActivityType = findViewById(R.id.editActivityType);

    final String[] type = new String[]{
            "Formal Education Completed", "Other Completed", "Professional Activities", "Self-Directed Learning", "Work-Based Learning"
    };

    final ArrayAdapter<String> editAdapterType = new ArrayAdapter<>(
            EditActivity.this,
            R.layout.dropdown_item,
            type
    );

    editActivityType.setAdapter(editAdapterType);

但是,如果包含第一行代码,则此代码不会填充下拉列表

是否有不同的方式显示下拉列表的当前值并同时显示其他选项


共 (1) 个答案

  1. # 1 楼答案

    要显示选定的值,应使用:

       AutoCompleteTextView editText = (AutoCompleteTextView) textInputLayout.getEditText();
    
       editText.setAdapter(adapter);
       editText.setText(value,false);
    

    重要的是设置过滤器false以下拉方式显示整个列表,而不仅仅是单个值