AutoCompleteTextView下拉样式被忽略

时间:2013-03-26 19:18:44

标签: android android-arrayadapter autocompletetextview

疯狂......无论我尝试什么,我的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中的下拉列表,以便下拉文本项以任何方式设置样式?

1 个答案:

答案 0 :(得分:1)

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