Android getChildView(用于BaseExpandableListAdapter)工作不正常

Android getChildView(用于BaseExpandableListAdapter)工作不正常,android,spinner,expandablelistview,Android,Spinner,Expandablelistview,我有一个可扩展的列表视图。子行的xml如下所示: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/list_item_child" android:layout_width="match_parent" android:layout_height=

我有一个可扩展的列表视图。子行的xml如下所示:

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

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <EditText
            android:id="@+id/number_input_1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ems="10"
            android:gravity="right"
            android:inputType="numberDecimal" >

            <requestFocus />
        </EditText>

        <Spinner
            android:id="@+id/spinner_1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
    </LinearLayout>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="@string/temp_txt" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <EditText
            android:id="@+id/number_input_2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ems="10"
            android:gravity="right"
            android:inputType="numberDecimal" />

        <Spinner
            android:id="@+id/spinner_2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
    </LinearLayout>
</LinearLayout>
public View getChildView(int i, int i1, boolean b, View view, ViewGroup viewGroup) {

    if (view == null) {
        view = inflater.inflate(R.layout.list_item_child, viewGroup, false);
    }      
    Spinner spinner = (Spinner) view.findViewById(R.id.spinner_1);
    spinner.setAdapter(mUnitsCA);
    spinner.setSelection(14);  // 14 is a test
    spinner.setOnItemSelectedListener(mSpinnerListener);

    return view;
}

这应确保每次都选择微调器_1中的项目编号14。在某些情况下,这是可行的,但它通常会选择微调器中的第一项。我搞不清楚这是在哪里发生的。有什么想法吗?

我发现的一个建议是将setSelection更改为以下内容:

spinner.setSelection(14, true);
编辑:基于我对未来求职者的回答

政府似乎对此非常含糊,只是简单地陈述了以下几点:

setSelection(int position, boolean animate);
//Jump directly to a specific item in the adapter data.

在我的研究中,似乎许多人都有同样的问题,从我所能看出,无论是真是假,声明动画布尔值似乎更为必要。可能只有自定义动画或声明的动画需要布尔值true才能制作动画,但没有动画的动画将接受true或false…

我发现的一个建议是将setSelection更改为以下值:spinner.setSelection 14,true;。你试过这个吗?哇,是的,这真的很管用!非常感谢。顺便说一句,第二个参数可以是真的,也可以是假的,它仍然有效。看起来“setSelection”的单参数版本有问题。嗯,这个网站是新的,我如何将上面的评论标记为已回答?哈,这很有趣。。。你不能接受评论,所以我会将我的评论作为答案发布,以便你可以接受。只需单击绿色复选框。谢谢祝你好运。