5

i want to call a new activity from within an inner class which is defined in d class which extends Activity.... the piece of written in one of the methods of that Inner class is::

Intent intent = new Intent(this, Test2.class); startActivity(intent);

Test2 is placed inside the same package as my main clas is placed and eclipse is showing me d error "The constructor Intent(test.MyTimer, Class) is undefined".......

what is the solution??

0

2 Answers 2

14

Just use MyActivity.this like so:

Intent i = new Intent(MyActivity.this, MyActivity.class); 
Sign up to request clarification or add additional context in comments.

Comments

5

I'd pass the parent to the MyTimer class in the constructor then you can pass that to the Intent. The intent requires a class that derives from Context.

So your MyTimer could look like

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); } } } 

Hope that helps.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.