आप एक (जरूरी नहीं) अमूर्त वर्ग है कि गतिविधि फैली परिभाषित onSearchRequest वहाँ लागू करने और उस वर्ग से अन्य सभी गतिविधि कक्षाओं के वारिस सकता है। इस तरह आपको केवल एक बार खोज व्यवहार को परिभाषित करना होगा।
अर्थात
public abstract class MyBaseActivity extends Activity {
@Override
public void onSearchRequest() {
// Your stuff here
}
}
public class MyActivity1 extends MyBaseActivity {
// OnSearchRequest is already implemented
}
आप गतिविधि के कई उपवर्गों, अर्थात ListActivity उपयोग करना चाहते हैं, यह एक अच्छा समाधान नहीं हो सकता है, जैसा कि आप सभी गतिविधि उपवर्गों आप उपयोग के लिए एक सार आधार वर्ग बनाना होगा। इस मामले में मैं एक अतिरिक्त वर्ग बनाने की सलाह देते हैं, खोज बटन से निपटने कोड encapsulating और onSearchRequest फोन है कि आप गतिविधियों से, यानी
public class SearchButtonHandle {
public void handleSearch(Context c) {
// Your search btn handling code goes here
}
}
public class MyActivity1 extends Activity { // Or ListActivity ....
@Override
public void onSearchRequest() {
new SearchButtonHandle().handleSearch(this);
}
}
बेशक
आप भी सभी गतिविधि का एक सार उपवर्ग को परिभाषित करते हुए दोनों approches गठजोड़ कर सकते हैं उपवर्गों आप का उपयोग करें और onSearchRequest एक बाहरी खोजें हैंडलर
स्रोत
2012-07-21 13:24:12
साथ ऊपर के उदाहरण में के रूप में लागू करें कि आप सही जवाब देने के लिए यदि आप इसका इस्तेमाल किया चिह्नित करें। यदि नहीं, तो हमें अधिक जानकारी प्रदान करें। – Michal