我正在开发Android应用程序,之前我从未使用过 MultiAutoCompleteTextView 。
在我的 layout.xml 中,我添加了:
<MultiAutoCompleteTextView
android:id="@+id/autocomplete_subtest"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:layout_marginTop="4dp"
android:ems="10"
android:text="" />
在我的 DialogFragment :
中try {
subtestAutoCompleteTextView = (MultiAutoCompleteTextView) view.findViewById(R.id.autocomplete_subtest);
ArrayAdapter<String> subtestAdapter = new ArrayAdapter<String>(getActivity().getApplicationContext(), android.R.layout.simple_list_item_1, subtests);
subtestAutoCompleteTextView.setAdapter(subtestAdapter);
subtestAutoCompleteTextView.setThreshold(1);
subtestAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
} catch (Exception e) {
e.printStackTrace();
}
但是,这些项目会以透明文字显示:
如果我单击列表项,使用空文本,它将使用预期选项完成我的MultiAutoCompleteTextView。
知道为什么文字没有显示在该项目上?
答案 0 :(得分:1)
您应该更改列表项的文本颜色。它可能是白色的,所以变为黑色。
编辑1
为了解释如何解决这个问题,我点了这个链接:How to change text color of simple list item
基本上,使用TextView:
创建自定义layout.xml文件<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tv"
android:textColor="@color/font_content"
android:padding="5sp"
android:layout_width="fill_parent"
android:background="@drawable/rectgrad"
android:singleLine="true"
android:gravity="center"
android:layout_height="fill_parent"/>
在我的代码中,我改变了:
ArrayAdapter<String> subtestAdapter = new ArrayAdapter<String>(getActivity().getApplicationContext(), R.layout.my_layout_file, subtests);
答案 1 :(得分:0)
ArrayAdapter subtestAdapter = new ArrayAdapter(getActivity(),android.R.layout.simple_list_item_1,subtests);
子测试对象为String Array。喜欢这个
String [] subtests = {"Enamul","Ashraful", "Tonu", "Shawan","Morshed"};
如果您从数据库或其他地方初始化它并使用ArrayList<String> subtests
这样的话。然后,您可以使用3行代码({/ p>)将其从String Array
分配给ArrayList
String [] subtests2 = new String[subtests.size()];
for (int i = 0; i < subtests.size(); i++) {
subtests2[i]=subtests.get(i).toString();
}
ArrayAdapter subtestAdapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,subtests2);
祝你好运......
答案 2 :(得分:0)
<MultiAutoCompleteTextView
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:cursorVisible="true"
android:ellipsize="none"
android:ems="10"
android:inputType="textCapWords"
android:scrollHorizontally="true"
android:scrollbars="none"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/black"
android:background="@null"
/>
在xml文件中尝试以上代码。在我的情况下工作。