1

기기가 회전하면 세로/가로 방향에 따라 레이아웃이 달라집니다. 그래서 매니페스트에이 줄을 추가 할 수 없습니다Android에서 SoftKeyboard 및 새로 고침 레이아웃을 유지 관리하는 방법

android:configChanges="orientation|screenSize|keyboardHidden" 

그러나, 사용자는 EditText 필드에 키보드 밖으로, 그리고 텍스트가 해당 필드에 가득하고 그들이 장치, 키보드 가죽 회전하는 경우 텍스트가 손실됩니다 (사용자에게 불만).

이 상황을 처리하는 적절한 방법이 있습니까?

답변

1

는, (에서 onCreate에서 findViewById를 꺼내와 별도의 방법에 넣어) UI 초기화 방법 전화, 왜 android:configChanges 사용할 수있는 다음 임시 변수에 글고 치기에 무엇이든 onConfigurationChanged 다음 저장소를 오버라이드 (override) EditText를 temp 변수로 설정하십시오. 여기

내가 조각을 사용하고 버튼

@Override

public void onConfigurationChanged(Configuration newConfig){ 
    super.onConfigurationChanged(newConfig); 
    setContentView(R.layout.main); 
    Log.i("configChange", "configChange");  
    String tmp = connect.getText().toString(); 
    boolean onTmp = on.isEnabled(); 
    boolean offTmp = off.isEnabled(); 
    boolean connTmp = reconnect.isEnabled(); 
    InitializeUI(); 
    connect.setText(tmp); 
    on.setEnabled(onTmp); 
    off.setEnabled(offTmp); 
    reconnect.setEnabled(connTmp); 
} 
+0

를 위해 한 일의 샘플입니다. 이것을 부모 활동이나 EditText가있는 부분에 넣을 수 있습니까? 좋은 대답은, 당신이하고있는 것을보고 있습니다 ... – KickingLettuce

+0

저는 실제로 안드로이드에 비교적 새롭고 아직 Fragments로 작업하지 않았습니다. 저는 Android Open Accessory Protocol로 작업하고 있으며, 이는 USB 액세서리 소명 목록을 망칠 수있는 onDestroy 및 onCreate를 호출하는 회전을 피할 수 있었던 방법이었습니다. 내 부모님의 추측은 앞으로 다시 그려 질 것입니다. 부모님의 모든 활동이 거기에 다시 그려진다면, 조각 만이 거기에 넣어지면 나는 생각합니다. 당신이 어느 것을 알고 있는지, 또는 다른 누군가가 알고 있다면, 내가 더 잘 알 수 있도록 배우고 싶습니다. – TronicZomB

+0

@KickingLettuce 호기심에서 문제 해결을 위해 이것을 얻었습니까? – TronicZomB