Hirdetés
Új hozzászólás Aktív témák
-
thon73
tag
Teljesen más téma, végre egyszer ne csak kérdést tegyek fel. Sokat kínlódtam azzal, hogy automatikusan eltüntessem a soft-keyboard-ot listView használatakor. A neten úgy láttam, hogy ezzel másnak is baja van.
Én a következő érdekességet találtam:A listView megérintésére így tudtam eltüntetni a billentyűzetet:
list.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
if (event.getAction() == MotionEvent.ACTION_DOWN)
{
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow( list.getWindowToken(), 0);
}
return false;
}
} );Érdekes, hogy nem kell a focus-t átadni, ill. az is mindegy, hogy melyik View szolgáltatja a Token-t. A billentyűzet eltűnik, és ezt semmi más módon nem tudtam elérni itt.
A készülék elfordításakor azonban a bill. mindenképpen előugrik, és a fenti módszer hatástalan volt. Ezzel szemben a focus elkérése működött (holott a fenti esetben nem!):
@Override
public void onResumeFragments()
{
....
// list.setFocusable( true ); //az utóbbi ezt is beállítja
// list.setFocusableInTouchMode( true );
// list.requestFocusFromTouch();
list.requestFocus();
}Az első három sor nem véletelenül kikommentelt, azok nélkül is működött.
Most csak akkor lesz billentyűzetem, ha a keresőmezőbe írok.

Ha valakinek lenne ennél egyszerűbb/jobb ötlete, szívesen veszem. Ha valakinek segít a fenti snipplet, annak is örülök!
Új hozzászólás Aktív témák
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


