एंड्रॉयड में, आप getTheme()
से एक Resource.Theme
वस्तु के रूप में एक गतिविधि की वर्तमान विषय मिल सकता है। साथ ही, आप setTheme(R.style.Theme_MyTheme)
में थीम को अन्य थीम के संसाधन आईडी के माध्यम से थीम को अलग-अलग सेट कर सकते हैं।एंड्रॉइड: वर्तमान विषय की संसाधन आईडी कैसे प्राप्त करें?
लेकिन मैं बाहर चाहे वह इसके लायक है कि कैसे मिल रहा है - चाहे वर्तमान विषय पहले से ही एक है कि मैं सेट करना चाहते हैं? मैं getTheme().getResourceId()
की तरह कुछ के लिए देख रहा हूँ, ताकि तरह कुछ लिखने के लिए:
protected void onResume() {
int newThemeId = loadNewTheme();
if (newThemeId != getTheme().getResourceId()) { // !!!! How to do this?
setTheme(newThemeId);
// and rebuild the gui, which is expensive
}
}
कोई भी विचार?
मुझे नहीं लगता कि संसाधन आईडी थीम क्लास का एक योगदान है। थीम संसाधन xml फ़ाइल से बनाई जा सकती है, लेकिन फिर आईडी का संदर्भ खो गया है। थीम स्वयं ही बदल सकती है, और फिर इसका कोई निश्चित संसाधन आईडी से बंधने का कोई अर्थ नहीं होगा। और भी, विषय कोड में फ्लाई पर बनाया जा सकता है। आपको वर्तमान विषय के लिए किस संसाधन आईडी का उपयोग किया गया था, इसका ट्रैक रखना होगा। – Anderson
यह उत्तर आपकी मदद करेगा। इसे चेकआउट करें http://stackoverflow.com/a/26302184/4639479 –