Я получаю следующую ошибку при попытке autocompleteTextView.showDropDown()
:
android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
Я пытался сделать это различными Fragment
методами жизненного цикла. Эта ошибка всегда выскакивает.
Где я могу вызвать методы, которые отображают дополнительные окна во фрагменте?
EDIT:
@BindView(R.id.acService) AutoCompleteTextView autocompleteSTextView;
@Override
public void onAttach(Context context)
{
super.onAttach(context);
this.context = context;
}
@Override
public void onDetach()
{
super.onDetach();
context = null;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
return inflater.inflate(R.layout.fragment_home, container, false);
}
@Override
public void onResume()
{
initialize();
loadSkillsData();
super.onResume();
}
private void initialize()
{
util = new Util(context);
requestService = new RequestService();
requestService.setServerUserId(getUser().getServerUserId());
geoDataClient = Places.getGeoDataClient(context);
autocompleteAdapter = new PlaceAutocompleteAdapter(context, geoDataClient, BOUNDS_WORLD, null);
autocompleteTextView.setAdapter(autocompleteAdapter);
mapFragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.mapFragment);
mapFragment.getMapAsync(this);
autocompleteTextView.setOnFocusChangeListener(new View.OnFocusChangeListener()
{
@Override
public void onFocusChange(View view, boolean hasFocus)
{
if(hasFocus)
{
autocompleteService.showDropDown();
}
}
});
}
А вот как фрагмент загружается в Activity
. Я использую MaterialNavigationDrawer:
private void replaceWithFragment(Fragment fragment)
{
getSupportFragmentManager().beginTransaction().replace(R.id.frame, fragment).commit();
navigationDrawer.closeDrawer();
}