setOnFocusChangeListener未在Fragment中调用

在这里,我的布局中有三个字段。

我将适配器设置为每个CustomAutocompleteTextView。 用户从项目列表中选择Entry type 。 但如果用户输入列表中不存在的内容,我想将该字段设为空。

为此我写了这样的代码。 它工作正常。 当我专注于下一个字段时,这个方法正在调用。

 actvEntryCategory.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View view, boolean b) { String str = actvEntryCategory.getText().toString(); for (int i=0;i<EntryTypeAdapter.getCount();i++) { String temp = EntryTypeAdapter.getItem(i).toString(); if (str.compareTo(temp) == 0){ return; } } actvEntryCategory.setText(""); // actvEntryCategory.setError("Please select valid Entry Type"); } }); 

现在,用户必须从项目列表中选择Station Name ,如果不是,我想将此字段设为空。

为此我写了这样的代码。 但是当我专注于Next字段时,这种方法不会调用。

 actvDivName.setOnFocusChangeListener(new View.OnFocusChangeListener() { public void onFocusChange(View view, boolean b) { try{ String str = actvDivName.getText().toString(); for (int i=0;i<QRDivArrayAdapter.getCount();i++) { String temp = QRDivArrayAdapter.getItem(i).toString(); if (str.compareTo(temp) == 0){ return; } } actvDivName.setText(""); // actvEntryCategory.setError("Please select valid Entry Type"); }catch(Exception focusfordivision) { Log.d("eEmp/Resume", "Error raised due to " + focusfordivision.toString()); } } }); 

这是我的XML代码。

                   

为什么不打电话?

任何帮助,将不胜感激。