2011-10-28 12 views
16

गतिविधि में बदलाव होने पर किसी ईवेंट को ट्रिगर करने में मुझे उलझन में है। एक चीज जो मुझे पता है onWindowFocusChanged() विधि का उपयोग कर रही है लेकिन मुझे नहीं पता कि इसका उपयोग कैसे किया जाए। कृपया एक उदाहरण में मदद करें यानी जब गतिविधि बदलती है, तो उसे टोस्ट दिखाया जाना चाहिए "गतिविधि बदल गई"।WindowFocusChanged() विधि का उपयोग कैसे करें?

उत्तर

24

विंडो के फ़ोकस में परिवर्तन होने पर निम्न विधि को कॉल किया जाता है। उदाहरण के लिए, यदि विंडो लाभ/हानि फोकस करता है, तो यह ट्रिगर हो जाएगा। यदि खिड़की पर ध्यान केंद्रित होता है, hasFocus अन्यथा सत्य और गलत है।

public void onWindowFocusChanged(boolean hasFocus) {   
      super.onWindowFocusChanged(hasFocus); 
      if(hasFocus) 
       Toast.makeText(context, text, duration).show(); 
    } 
+0

क्या आप इस समारोह का पूरा कोड प्रदान कर सकते हैं? क्योंकि जब मैंने इस कोड का उपयोग किया, तब भी वहां एक त्रुटि है। – user1008497

+0

किस तरह की त्रुटि? यह एक कॉलबैक है ताकि आप जो कुछ भी करना चाहते हैं उसे जोड़ सकें। – Reno

+0

इस लाइन पर एकाधिक मार्कर - टोकन "बूलियन" पर सिंटैक्स त्रुटि, इस टोकन को हटाएं -hasFocus को हल नहीं किया जा सकता -सिंटेक्स त्रुटि, डालें ";" स्टेटमेंट पूरा करने के लिए मैं एक्लिप्स आईडीई – user1008497

0
public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 

    @Override 
    public void onWindowFocusChanged(boolean hasFocus) { 
     if(!hasFocus) { 
      //do anything you want here 
      Toast.makeText(MainActivity.this,"Activity changed",Toast.LENGTH_SHORT).show(); 
     } 
    } 

} 

यह मदद कर सकता है ...

0

कहा जाता है जब गतिविधि लाभ की वर्तमान विंडो या ध्यान केंद्रित खो देता है। यह सबसे अच्छा संकेतक है कि यह गतिविधि उपयोगकर्ता को दिखाई दे रही है या नहीं। डिफ़ॉल्ट कार्यान्वयन कुंजी ट्रैकिंग स्थिति को साफ़ करता है, इसलिए हमेशा कॉल किया जाना चाहिए।

@Override 
public void onWindowFocusChanged(boolean hasFocas) { 
    super.onWindowFocusChanged(hasFocas); 
    //your code here 
} 

हैफोकस बूलियन: क्या इस गतिविधि की खिड़की पर ध्यान केंद्रित किया गया है।

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