[android] Android 애플리케이션에서 초기 포커스 설정

내 Android 애플리케이션에서는 Button레이아웃에 있는 첫 번째 항목에 자동으로 초점을 맞추고 주황색 윤곽선을 표시합니다. 가급적 XML에서 초기 포커스를 설정하는 방법은 무엇이며 아무것도 설정하지 않을 수 있습니까?



답변

requestFocus태그를 사용할 수 있습니다 .

<Button ...>
  <requestFocus />
</Button>

버튼 중 하나에 자동으로 초점을 맞추는 것이 이상하지만 내 뷰에서 해당 동작을 관찰하지 못했습니다.


답변

@Someone Somewhere, 위의 모든 것을 아무 소용이 없었습니다. 내가 찾은 수정 사항은 http://www.helloandroid.com/tutorials/remove-autofocus-edittext-android 입니다. 기본적으로 문제가있는 버튼 바로 위에 보이지 않는 레이아웃을 만들어야합니다.

<LinearLayout android:focusable="true"
              android:focusableInTouchMode="true"
              android:layout_width="0px"
              android:layout_height="0px" >
    <requestFocus />
</LinearLayout>


답변

:focusable및 둘 다 :focusableInTouchModetrue로 설정하고을 호출하십시오 requestFocus. 트릭입니다.


답변

나는 이것이 나를 위해 가장 잘 작동한다는 것을 알았습니다.

AndroidManifest.xml에서 <activity> element추가android:windowSoftInputMode="stateHidden"

이것은 활동에 들어갈 때 항상 키보드를 숨 깁니다.


답변

이 코드 줄을 다음에 추가합니다 onCreate().

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

문제 해결됨.


답변

아래 코드를 사용하십시오.

TableRow _tableRow =(TableRow)findViewById(R.id.tableRowMainBody);
tableRow.requestFocus();

작동합니다.


답변

@Someone Somewhere 나는 이것을 사용하여 초점을 명확하게했습니다.

editText.clearFocus();

그리고 그것은 도움이됩니다