ทีเเรกผมนึกว่าคำสั่ง Intent จะเป็นการ Refresh แต่พอลองเเล้วมันไม่ใช่เลยครับ มันคือการสร้าง app page ใหม่ขึ้นมาให้กิน RAM เครื่องเข้าไปอีก
ตอนนี้ผมต้องการให้ Page1 และ Page2 มีผลเชื่อมถึงกันน่ะครับ เช่น ผมทำปุ่มเปลี่ยนสี Background โดยทุก Page ของผมสามารถมีปุ่มเปลี่ยนสีได้ ตอนนี้ที่ผมได้ทำแล้วคือ เมื่ออยู่ Page1 เลือกสีเขียว กด link ไป Page2 ก็จะเป็นสีเขียวเหมือนกัน จากนั้นขณะที่อยู่ Page2 ผมเลือกสีน้ำเงิน แล้วกดปุ่ม Back กลับไปปรากฎว่า Page1 ยังเป็นสีเขียวเหมือนเดิม (= =”)
ผมจะแก้ปัญหานี้ยังไงดีครับ
คิดว่าน่าจะใช้เทคนิค OnPause() กับ OnResume() จะดีกว่าครับ
เพราะถ้าเราเรียก Intent ขึ้นมาใหม่ มันคือการสร้าง page ขึ้นมาใหม่ทันที แล้วจะมีปัญหากับการกด back ด้วย
(ผมขอเรียก Activity ในแต่ละอันว่า page ละกันครับ จะได้ตรงกับที่คุณ cyberplanet เข้าใจ)
จังหวะที่เราเปลี่ยนหน้าจาก 1 ไป 2 Page ที่ 1 จะถูก Pause ไว้ แล้วไปเรียก Page ที่ 2 ให้ทำงาน
เมื่อเราทำการแก้ไขค่าในหน้า 2 เพื่อให้ program ทั้งหมดมีสีของปุ่มเปลี่ยนไป แล้วเราก็ย้อนกลับไปที่หน้า 1
จังหวะนั้น Page 1 จะไม่ถูกเรียกฟังก์ชัน OnCreated ครับ แต่จะเรียก OnResume แทน
ถ้าต้องการจะทำอะไรก็ใส่ตรงฟังก์ชัน OnResume ละกันครับ
จะใช้ SharedPreferences เป็นตัวช่วยในการเก็บค่าด้วยก็ได้ครับ
ใช้ OnResume ปุ๊ปทำได้ตามต้องการแล้วครับ ขอบคุณ คุณ GEEKGOK ครับ 😀