2010-07-09 17 views
5

मैं एक कक्षा में परिभाषित एक आंतरिक कक्षा के भीतर से एक नई गतिविधि को कॉल करना चाहता हूं जो गतिविधि को बढ़ाता है .... उस आंतरिक वर्ग के तरीकों में से एक में लिखे गए टुकड़े का टुकड़ा है ::एंड्रॉइड-कॉलिंग इंटेंट इन इनर क्लास

इरादा इरादा = नया इरादा (यह, test2.class); प्रारंभ गतिविधि (इरादा);

Test2 अपने मुख्य clas रूप में एक ही पैकेज के अंदर रखा गया है रखा गया है और ग्रहण दिखा रहा है मुझे "निर्माता आशय (test.MyTimer, कक्षा) अपरिभाषित है" त्रुटि d .......

क्या समाधान है ??

उत्तर

4

मैं माता-पिता को कन्स्ट्रक्टर में माईटाइमर क्लास में पास कर दूंगा तो आप इसे इरादे में पास कर सकते हैं। इरादे को कक्षा से प्राप्त होने वाली कक्षा की आवश्यकता होती है।

तो अपने MyTimer

public class MyActivity extends Activity 
{ 
    private void StartTimer() 
    { 
     MyTimer timer = new MyTimer(this); 
     timer.startIntent(); 
    } 

    private class MyTimer 
    { 
     private Activity _context; 
     public MyTimer(Activity c) 
     { 
      _context = c; 
     } 
     public void startIntent() 
     { 
      Intent i = new Intent(_context, MyActivity.class); 
      _context.startActivity(i); 
     } 
    } 
} 

आशा है कि मदद करता है की तरह लग रहे हो सकता है।

+0

फिर यह helpd ... thnks .... मेरा उद्देश्य smthng गया था, लेकिन घ अवधारणा हो गया है !! – poojan9118

13

बस MyActivity.this इसलिए की तरह उपयोग करें:

Intent i = new Intent(MyActivity.this, MyActivity.class); 
+0

या इसे मिला ........... – poojan9118

+0

wat क्या दर दर संकेत है ?? – poojan9118

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