2013-07-05 10 views
8

मुझे लगता है कि इस कोड का उपयोग सभी SharedPreferences को साफ करता है मेरे एप्लिकेशन में एक बटन लागू किया:पुन: खोलने के बिना रीफ्रेश गतिविधि?

context.getSharedPreferences("bifrostPrefs", 0).edit().clear().commit(); 

अब समस्या यह है कि जब भी मैं बटन का उपयोग करें, मैं तो गतिविधि से बाहर निकलें और फिर से खुल यह परिणाम देखने के लिए की जरूरत है । जब तक मैंने देखा है कि अगर मैं फिर से खुल गतिविधि, मैं तो दो बार वापस बटन दबाने की जरूरत

Intent reOpen = new Intent (Bifrost.this, Bifrost.class); 
startActivity(reOpen); 

मेरा विचार स्मार्ट लग रहा था: मैं बस बटन इस कोड के साथ गतिविधि फिर से खोलने बनाकर इस सुलझाने की कोशिश की मुख्य गतिविधि पर वापस जाने के लिए। तो मैं कुछ reserach किया था और इस कोड को मिला:

finish(); 
startActivity(getIntent()); 

यह अब ठीक काम करता है, गतिविधि ताज़ा किया जाता है और उसके बाद मैं केवल क्लिक करने के लिए वापस बटन एक बार की जरूरत है। लेकिन क्या इसके बिना गतिविधि को रीफ्रेश करने का एक और तरीका है "फ्लैशिंग" अंदर और बाहर? जैसा कि आप जानते हैं, हर बार जब आप एक नई गतिविधि खोलते हैं, तो यह अंदर और बाहर चमकता है ताकि ऐप एक सेकंड के लिए लेटे। क्या इसे छोड़कर किसी गतिविधि को रीफ्रेश करने का कोई तरीका है?

+0

एनीमेशन के बिना पास इरादा – QuokMoon

उत्तर

15

खैर, यह गतिविधि की सामग्री अद्यतन करने के लिए बेहतर होगा, लेकिन अगर यह बहुत जटिल है इस विधि से डिफ़ॉल्ट एनीमेशन ओवरराइड कर सकते हैं:

finish(); 
overridePendingTransition(0, 0); 
startActivity(getIntent()); 
overridePendingTransition(0, 0); 
+0

हाँ! यह वही है जो मैं खोज रहा था, ऐप काम करता है जैसा कि मैंने अभी इरादा किया है, और जटिलताओं की आवश्यकता नहीं है। धन्यवाद! – Guy

+0

मेरे लिए भी काम करता है! – publicknowledge

+0

यह भी मेरे लिए काम किया। सरल समाधान –

0

क्या आपके पास कुछ विचार हैं जो आपकी साझा प्राथमिकताओं से मूल्यों के आधार पर अपना मूल्य/आकार बदल सकते हैं? यदि हां, तो एक तरीका बनाएं जो विचारों को init और कॉल करें कि मेथन को ऑनरेट() विधि और ऑनक्लिक() विधि में कॉल करें।

1

आप करने के लिए ध्वज Intent.FLAG_ACTIVITY_NO_ANIMATION (link) जोड़ सकते हैं आपके reOpen सभी एनिमेशन को खत्म करने का इरादा है। लेकिन जैसा कि दूसरे उत्तर से बताया गया है, Activity के अंदर डेटा को बेहतर रीफ्रेश करें।

+0

यह चालाक है! –

संबंधित मुद्दे