2012-03-14 17 views
7

Tôi đang xây dựng một ứng dụng cần biết liệu thiết bị có đang ở chế độ ngang hay dọc không. Vì vậy, tôi đã tìm ra, tôi sẽ sử dụng onCreate, tôi biết điều đó được gọi là xoay vòng thiết bị. Nhưng onCreate chỉ gọi một lần !! Khi tôi xoay thiết bị, không có gì xảy ra. Tôi đang gỡ lỗi trên một thiết bị thực tế, Motorola Xoom, vì vậy tôi KHÔNG sử dụng trình mô phỏng. Ai đó có loại vấn đề này?onTạo không được gọi khi xoay màn hình - Android

+1

Bạn có thẻ 'android: configChanges' cho hoạt động trong tệp kê khai của mình không? –

+0

Tôi có nó, nó giống như thế này: android: configChanges = "orientation | keyboardHidden" – Sandra

+0

Sau đó, câu trả lời của @ blackbelt là dành cho bạn :) –

Trả lời

30

Kiểm tra nếu int file Manifest bạn khai báo

android: configChanges = "định hướng"

nếu bạn tuyên bố cờ này, hoạt động này sẽ không bị hủy diệt và tái tạo và gọi lại

onConfigurationChanged() 

sẽ được gọi.

+0

Tôi không biết điều đó. OK, cảm ơn bạn. – Sandra

+0

bạn được chào đón – Blackbelt

+4

Tôi không thể chấp nhận nó sớm hơn, bởi vì tôi không có danh tiếng để chấp nhận hai câu trả lời trong một khoảng thời gian ngắn. – Sandra

0

Đối với mục tiêu API> 13 bạn cần phải khai báo cả orientation|screenSize cho Activity của bạn để làm onCreate không gọi

<activity 
    ... 
    android:configChanges="orientation|screenSize" 
    /> 

Nếu bạn chỉ xác định orientation hoặc screenSize, onCreate vẫn gọi.
Chekc tại đây activity-element -> android: configChanges -> "orientation"