Spinner下拉列表没有调整大小

时间:2016-12-20 21:44:50

标签: android mobile

我一直在研究一个学校项目的应用程序(第一次制作应用程序,学校并没有帮助我)。 我想添加一个微调器来显示多个组名,并决定我需要一个自定义适配器,所以我做了一个,但现在我无法调整对话框结果的大小。

以下是我使用的代码: 自定义适配器

public class GroupAdapter extends ArrayAdapter<Group> {
public int _layout;
public int _dropdown;

public GroupAdapter(Context context, int resource, int dropdown, List<Group> object){
    super(context, resource, object);
    _dropdown = dropdown;
    _layout = resource;
}

public GroupAdapter(Context context, int resource, List<Group> objects) {
    super(context, resource, objects);
}

@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
    GroupHolder mainViewHolder = null;
    if (convertView == null){
        LayoutInflater inflater = LayoutInflater.from(getContext());
        convertView = inflater.inflate(_dropdown, parent, false);
        GroupHolder groupHolder = new GroupHolder();
        groupHolder.textView = (TextView) convertView.findViewById(R.id.textView_groupName);
        convertView.setTag(groupHolder);
    }

    convertView.setMinimumWidth(100);
    mainViewHolder = (GroupHolder) convertView.getTag();

    Group group = getItem(position);
    mainViewHolder.textView.setText(group.Name);

    return convertView;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    LayoutInflater inflater = LayoutInflater.from(getContext());
    View view = inflater.inflate(_layout, parent, false);

    TextView header = (TextView) view.findViewById(R.id.textView_headGroupName);
    header.setText(getItem(position).Name);

    return view;
}

布局xml:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:text="TextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textView_headGroupName"
        android:textSize="30sp"
        android:textStyle="normal|bold"
        android:textAlignment="center" />
</LinearLayout>

下拉列表:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="100dp"
    android:layout_height="match_parent">

    <TextView
        android:text="TextView"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:id="@+id/textView_groupName"
        android:textSize="18sp" />
</LinearLayout>

编辑: 声明微调器:

Spinner spinner = (Spinner) findViewById(R.id.spinner_groups);
GroupAdapter spinnerAdapter = new GroupAdapter(this, R.layout.activity_header_spinner, R.layout.activity_listitem_groupitem, lockManager.Groups);
spinner.setAdapter(spinnerAdapter);

我希望有人能够帮助我。我希望我不会在这里问任何愚蠢的事。

提前致谢, Patrick de Mooij

0 个答案:

没有答案