Java Android片段自动完成文本视图不执行setOnItemClickListener

Java Android片段自动完成文本视图不执行setOnItemClickListener,java,android,android-fragments,autocomplete,Java,Android,Android Fragments,Autocomplete,我有一个片段选项卡布局。在第一个选项卡片段中,我有两个自动完成文本视图。这些自动完成文本视图以异步方式引入数据。我的问题是,第一个“自动完成”文本视图没有触发set-setOnItemClickListener回调,而另外两个“自动完成”视图工作正常。 我尝试将单个自动完成从onCreateView移动到onViewCreated。 我删除了文本监视程序,也尝试了一下,但到目前为止没有任何效果 toEditAutocompleteText = (AutoCompleteTextView)view

我有一个片段选项卡布局。在第一个选项卡片段中,我有两个自动完成文本视图。这些自动完成文本视图以异步方式引入数据。我的问题是,第一个“自动完成”文本视图没有触发set-setOnItemClickListener回调,而另外两个“自动完成”视图工作正常。 我尝试将单个自动完成从onCreateView移动到onViewCreated。 我删除了文本监视程序,也尝试了一下,但到目前为止没有任何效果

toEditAutocompleteText = (AutoCompleteTextView)view.findViewById(R.id.toEditAutocompleteText );
toEditAutocompleteText.setOnItemClickListener(onBranchSelected);
toEditAutocompleteText.addTextChangedListener(new TextWatcher() {

            public void afterTextChanged(Editable s) {

            }

            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
                /*if (globalPreventTextWatcher == true) {
                    return;
                }*/

            }

            public void onTextChanged(CharSequence s, int start, int before, int count) {

                if (s.toString().length() >= 1 && toEditText.hasFocus()) {
                    //
                    // System.out.println("branch----------------------->"+s.toString());
                    searchBranch(s.toString());
                }

            }
        });
就像上面的自动完成文本一样,我还有一个自动完成文本。这两种方法都可以很好地工作,但是有一种方法就是这样的,它不会触发回调。 这三个函数之间唯一的区别是用于获取数据调用的异步函数不同,因为它们返回不同的对象数组

具有自动完成文本视图的选项卡之一

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/lightGray"
    android:fillViewport="true">

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/activity_update_delivery_record"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin">

        <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/main_table"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_centerInParent="true"
            android:stretchColumns="1">

            <TableRow>
                <!-- Column 1 -->
                <EditText
                    android:id="@+id/docketNumberEditText"
                    android:layout_width="0dip"
                    android:layout_height="wrap_content"
                    android:layout_margin="4dip"
                    android:layout_weight="1"
                    android:background="@drawable/rounded_bg"
                    android:completionThreshold="1"
                    android:hint="docket number"
                    android:maxLines="1"
                    android:gravity="center"
                    android:padding="10dip" />

                <!-- Column 2 -->
                <!--<TextView-->
                <!--android:id="@+id/tbl_txt2"-->
                <!--android:layout_width="0dip"-->
                <!--android:layout_height="wrap_content"-->
                <!--android:background="@color/red"-->
                <!--android:textColor="@color/white"-->
                <!--android:padding="10dip"-->
                <!--android:layout_margin="4dip"-->
                <!--android:layout_weight="1"-->
                <!--android:text="Column 2" />-->

                <!--&lt;!&ndash; Column 3 &ndash;&gt;-->
                <!--<TextView-->
                <!--android:id="@+id/tbl_txt3"-->
                <!--android:layout_width="0dip"-->
                <!--android:layout_height="wrap_content"-->
                <!--android:background="@color/red"-->
                <!--android:textColor="@color/white"-->
                <!--android:padding="10dip"-->
                <!--android:layout_margin="4dip"-->
                <!--android:layout_weight="1"-->
                <!--android:text="Column 3" />-->
            </TableRow>

            <TableRow>

                <TextView
                    android:id="@+id/fromValue"
                    android:layout_width="0dp"
                    android:layout_marginTop="10dp"
                    android:layout_weight="1"
                    android:gravity="center"
                    android:text="From Branch"
                    android:textSize="18dp"
                    android:textStyle="bold" />
            </TableRow>

            <TableRow>

                <AutoCompleteTextView
                    android:id="@+id/consignor"
                    android:layout_width="0dp"
                    android:layout_marginTop="10dp"
                    android:layout_weight="1"
                    android:background="@drawable/rounded_bg"
                    android:completionThreshold="1"
                    android:gravity="center"
                    android:hint="Consignor"
                    android:inputType="textPersonName"
                    android:nextFocusDown="@+id/consignee"
                    android:textColor="@android:color/black"
                    android:textSize="18dp"
                    android:textStyle="bold" />
            </TableRow>

            <TableRow>

                <AutoCompleteTextView
                    android:id="@+id/consignee"
                    android:layout_width="0dp"
                    android:layout_marginTop="10dp"
                    android:layout_weight="1"
                    android:background="@drawable/rounded_bg"
                    android:completionThreshold="1"
                    android:gravity="center"
                    android:hint="Consignee"
                    android:inputType="textPersonName"
                    android:nextFocusDown="@+id/bookingLocation"
                    android:textColor="@android:color/black"
                    android:textSize="18dp"
                    android:textStyle="bold" />
            </TableRow>

            <TableRow>

                <AutoCompleteTextView
                    android:id="@+id/bookingLocation"
                    android:completionThreshold="1"
                    android:layout_width="0dp"
                    android:layout_marginTop="10dp"
                    android:layout_weight="1"
                    android:background="@drawable/rounded_bg"
                    android:gravity="center"
                    android:hint="Booking location"
                    android:textStyle="bold"
                    android:inputType="textPersonName"
                    android:nextFocusDown="@+id/toEditText"
                    android:textColor="@android:color/black"
                    android:textSize="18dp" />
            </TableRow>


            <TableRow>

                <AutoCompleteTextView
                    android:id="@+id/toEditText"
                    android:layout_width="0dp"
                    android:layout_marginTop="10dp"
                    android:layout_weight="1"
                    android:background="@drawable/rounded_bg"
                    android:completionThreshold="1"
                    android:gravity="center"
                    android:hint="To City"
                    android:inputType="textPersonName"
                    android:nextFocusDown="@+id/invoice"
                    android:textColor="@android:color/black"
                    android:textSize="18dp"
                    android:textStyle="bold" />
            </TableRow>

            <TableRow>

                <EditText
                    android:id="@+id/invoice"
                    android:layout_width="0dp"


                    android:layout_margin="10dip"
                    android:layout_weight="1"
                    android:background="@drawable/rounded_bg"
                    android:gravity="center"
                    android:hint="Invoice"
                    android:inputType="text"
                    android:maxLength="50"
                    android:nextFocusDown="@+id/weight"
                    android:textColor="@android:color/black"
                    android:textSize="18dp" />

                <EditText
                    android:id="@+id/weight"
                    android:layout_width="0dp"


                    android:layout_margin="10dip"
                    android:layout_weight="1"
                    android:background="@drawable/rounded_bg"
                    android:gravity="center"
                    android:hint="Weight"
                    android:inputType="number"
                    android:maxLength="6"
                    android:textColor="@android:color/black"
                    android:textSize="18dp" />

                <EditText
                    android:id="@+id/quantity"
                    android:layout_width="0dp"


                    android:layout_margin="10dip"
                    android:layout_weight="1"
                    android:background="@drawable/rounded_bg"
                    android:gravity="center"
                    android:hint="Quantity"
                    android:inputType="number"
                    android:maxLength="6"
                    android:nextFocusDown="@+id/invoice"
                    android:textColor="@android:color/black"
                    android:textSize="18dp" />
            </TableRow>

            <TableRow>

                <AutoCompleteTextView
                    android:id="@+id/truckNumberAutocomplete"
                    android:layout_width="0dp"
                    android:layout_marginTop="10dp"
                    android:layout_weight="1"
                    android:background="@drawable/rounded_bg"
                    android:completionThreshold="1"
                    android:gravity="center"
                    android:hint="Truck number"
                    android:inputType="textPersonName"
                    android:nextFocusDown="@+id/invoice"
                    android:textColor="@android:color/black"
                    android:textSize="18dp"
                    android:textStyle="bold" />
            </TableRow>

            <TableRow>

                <Spinner
                    android:id="@+id/modeSpinner"
                    android:layout_width="0dp"
                    android:layout_height="45dp"
                    android:layout_marginTop="10dp"
                    android:layout_weight="1"
                    android:hint="Mode"
                    android:textSize="18dp" />
            </TableRow>

            <TableRow>

                <ImageButton
                    android:id="@+id/clearInput"
                    android:layout_width="40dp"
                    android:layout_height="40dp"
                    android:padding="35dip"
                    android:layout_margin="35dp"
                    android:background="@drawable/circle_button_layout"
                    android:clickable="true"
                    android:src="@android:drawable/ic_menu_close_clear_cancel" />

                <ImageButton
                    android:layout_width="wrap_content"
                    android:visibility="gone" />
                <ImageButton
                    android:id="@+id/print"
                    android:padding="35dip"
                    android:layout_margin="35dp"
                    android:layout_width="40dp"
                    android:layout_height="40dp"
                    android:gravity="center"
                    android:background="@drawable/circle_button_layout"
                    android:clickable="true"
                    android:src="@mipmap/ic_print_icon" />

                <ImageButton
                    android:layout_width="40dp"
                    android:layout_height="40dp"
                    android:padding="35dip"
                    android:layout_margin="35dp"
                    android:clickable="true"
                    android:background="@drawable/circle_button_layout"
                    android:src="@android:drawable/ic_menu_add"
                    android:id="@+id/fabButton"/>
            </TableRow>
        </TableLayout>





    </RelativeLayout>
</ScrollView>

主碎片夹持器

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <!--<android.support.v7.widget.Toolbar-->
        <!--android:id="@+id/toolbar"-->
        <!--android:layout_width="match_parent"-->
        <!--android:layout_height="?attr/actionBarSize"-->
        <!--android:background="?attr/colorPrimary"-->
        <!--app:layout_scrollFlags="scroll|enterAlways"-->
        <!--app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />-->

        <android.support.design.widget.TabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabMode="fixed"
            app:tabGravity="fill"/>
    </android.support.design.widget.AppBarLayout>

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"  />
</android.support.design.widget.CoordinatorLayout>

已经在这上面花了几个小时了。报告中没有错误。自动完成对于数据获取部分工作正常,但是当您从列表中选择某个内容时,不会在选定项回调上触发自动完成

此外,此特定的自动完成文本监视程序也不会被触发,但会调用异步回调函数。 这使我更加困惑


谁能指出哪里出了问题。

我发现了问题所在。显然,在我的代码中还有两个自动完成文本视图。这些自动完成应该通过api填充值。API未返回任何数据,因此未填充这些数据。此外,这些非常自动完成的功能还有一个hasFocus侦听器。当前两个autocomplete被填充时,我的代码开始按原样工作。似乎前两个自动完成的hasFocus搞乱了第三个自动完成。 所以,若你们遇到这个问题,请检查你们是否在任何元素上应用了焦点侦听器。如果是,则删除它并对其进行排序