Java Android片段自动完成文本视图不执行setOnItemClickListener
我有一个片段选项卡布局。在第一个选项卡片段中,我有两个自动完成文本视图。这些自动完成文本视图以异步方式引入数据。我的问题是,第一个“自动完成”文本视图没有触发set-setOnItemClickListener回调,而另外两个“自动完成”视图工作正常。 我尝试将单个自动完成从onCreateView移动到onViewCreated。 我删除了文本监视程序,也尝试了一下,但到目前为止没有任何效果Java Android片段自动完成文本视图不执行setOnItemClickListener,java,android,android-fragments,autocomplete,Java,Android,Android Fragments,Autocomplete,我有一个片段选项卡布局。在第一个选项卡片段中,我有两个自动完成文本视图。这些自动完成文本视图以异步方式引入数据。我的问题是,第一个“自动完成”文本视图没有触发set-setOnItemClickListener回调,而另外两个“自动完成”视图工作正常。 我尝试将单个自动完成从onCreateView移动到onViewCreated。 我删除了文本监视程序,也尝试了一下,但到目前为止没有任何效果 toEditAutocompleteText = (AutoCompleteTextView)view
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" />-->
<!--<!– Column 3 –>-->
<!--<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搞乱了第三个自动完成。 所以,若你们遇到这个问题,请检查你们是否在任何元素上应用了焦点侦听器。如果是,则删除它并对其进行排序