我正在使用AutoCompleteTextView材质下拉列表将信息添加到Firebase数据库中。这可以正常工作,并且可以正确捕获信息。
我现在希望允许我的用户编辑他们先前添加到数据库中的信息。我知道如何更新正常的EditText视图,但是当我对AutoCompleteTextViews使用相同的方法时,下拉列表仅显示存储在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);
但是,如果我包含第一行代码,则此代码不会填充下拉列表。
是否有其他显示下拉菜单当前值以及其他选项的方法?
答案 0 :(得分:0)
要显示所选值,您应该使用:
AutoCompleteTextView editText = (AutoCompleteTextView) textInputLayout.getEditText();
editText.setAdapter(adapter);
editText.setText(value,false);
设置过滤器false
以便在下拉列表中显示整个列表,而不仅仅是单个值,非常重要。