Prevent EditText from automatically focusing

元气小坏坏 提交于 2019-12-19 10:04:25

问题


I have an Android activity and there is one EditText in the whole layout. For some reason, whenever the activity starts, the keyboard comes up. I have tried all of the following things:

  • Placing these two in OnStart:

    FindViewById<EditText> (Resource.Id.searchText).ClearFocus ();
    FindViewById<EditText> (Resource.Id.searchText).Selected = false;
    
  • Adding a LinearLayout with these two properties:

    android:focusable="true" android:focusableInTouchMode="true"
    
  • Adding the following tag inside another View on the layout:

    android:focusable="true" android:focusableInTouchMode="true"
    
  • Adding this to my activity manifest:

    android:windowSoftInputMode="stateHidden"
    

But still, the keyboard opens when the activity opens. What could I be doing wrong?


回答1:


Try this -this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);




回答2:


Try these for Xamarin.Android (Cross Platform)

this.Window.SetSoftInputMode (SoftInput.StateHidden);

Or

Add this to manifest,

[Activity(Label = "SampleApp", MainLauncher = true, Icon = "@drawable/icon", WindowSoftInputMode = SoftInput.StateHidden)]



回答3:


Add this to manifest file...

<activity android:name=".YourActivity" android:windowSoftInputMode="stateHidden"  />



回答4:


Android by default targets the first focusable object. Whilst kirankk's answer works for standard activities, if you're using a DialogFragment with a custom view, the much easier option (which incidentally also works for standard activities) is to make the ViewGroup (ie LinearLayout/RelativeLayout) that your text view is contained in focusable and focusable in touch mode. This can be done from the AXML and prevents the TextView being the first focusable view.




回答5:


I know this is super old, but find that adding this to your root view in the XML file usually helps to prevent this issue:

 android:descendantFocusability="beforeDescendants"
 android:focusableInTouchMode="true"


来源:https://stackoverflow.com/questions/18407505/prevent-edittext-from-automatically-focusing

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!