หน้าเว็บ

วันเสาร์ที่ 25 กุมภาพันธ์ พ.ศ. 2555

แก้ปัญหา save state (หมุนหน้าจอ) android

        คือผมเคยเจอปัญหาว่าเวลาเราป้อน input ใน EditText แล้วลองหมุนหน้าจอ ข้อมูลที่เคยอยู่ใน EditText จะหายไป เพราะว่า android มันจะเริ่ม Activity Lift Cycle ใหม่ คือ create start resume ... ข้อมูลก็เลยหายไปครับ แต่ถ้าเราอยากให้ข้อมูลอยู่เหมือนเดิม ให้ทำดังนี้ครับ        
        
        ให้เพิ่ม android:configChanges="orientation|keyboardHidden" ไว้ในส่วนหัวของ tag activity ที่เราต้องการให้ save state เดิมไว้ อยู่ในไฟล์ Androidmanifest.xml

<activity
    android:name=".ProfileActivity"
    android:configChanges="orientation|keyboardHidden"
    android:label="Profile"
>
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

ไม่มีความคิดเห็น:

แสดงความคิดเห็น