我想从内部类中调用一个新的活动,该类在d类中定义,它扩展了Activity .... 在Inner类的一个方法中编写的那段是::
Intent intent = new Intent(this,Test2.class); startActivity(意向);
Test2被放置在同一个包中,因为我的主要clas被放置了,eclipse显示我错误“构造函数Intent(test.MyTimer,Class)未定义”.......
解决方案是什么?
答案 0 :(得分:13)
像这样使用MyActivity.this
:
Intent i = new Intent(MyActivity.this, MyActivity.class);
答案 1 :(得分:4)
我将父级传递给构造函数中的MyTimer类,然后您可以将其传递给Intent。意图需要一个派生自Context的类。
所以你的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);
}
}
}
希望有所帮助。