2

疯狂......无论我尝试什么,我的AutoCompleteTextView节目都会使用默认样式下拉项目。我似乎无法以任何方式访问下拉视图 - 我尝试过在 XML 中设置样式以及在我的适配器中对其进行编码以及对 AutoCompleteTextView 本身进行编码。

spinner_dropdown_item.xml:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
      android:paddingLeft="10dp"
      android:paddingRight="10dp"
      android:paddingTop="15dp"
      android:paddingBottom="15dp"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:textColor="#000"
      android:textSize="16dp"
    />

我的客户(LoginFragment.java):

AutoCompleteTextView user_name = (AutoCompleteTextView) layout.findViewById(R.id.user_name);

final MyAdapter<User> adapter = new MyAdapter<User>(my_activity, my_list);
//does nothing
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
//crashes app with no error or anything!
user_name.setDropDownBackgroundResource(R.layout.spinner_dropdown_item);

user_name.setAdapter(user_adapter);

最后,在我的适配器中,它可以完美地为任何微调器设置下拉项的样式,但无法为 AutoCompleteTextView 设置下拉项的样式:

@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
    TextView tv;
    if (convertView == null) {
        LayoutInflater inflater = LayoutInflater.from(context);
        tv = (TextView) inflater.inflate(R.layout.spinner_dropdown_item, null);
    } else {
        tv = (TextView) convertView;
    }
    T object = objects.get(position);
    String label = NULL_ITEM;
    if (object != null) {
        label = object.toString();
    }
    tv.setText(label);
    return tv;
}

如何更改 AutoCompleteTextView 中的下拉列表,以便下拉文本项以任何方式设置样式?

4

1 回答 1

1

我似乎找到了问题所在。我的 Adapter 类需要在其构造函数中接收所需的布局。不知道为什么它不能在适配器本身中引用所需的布局

于 2013-03-26T20:13:33.680 回答