андроид - вызов Намерения от Внутреннего класса

я хочу назвать новое действие из внутреннего класса, который определяется в d классе, который расширяет Действие.... часть записанных в одном из методов, из которых Внутренний класс::

Поглощенное намерение = новое Намерение (это, Test2.class); startActivity (намерение);

Test2 помещается в том же пакете, как мой основной класс помещается, и затмение показывает мне d ошибку "Намерение конструктора (тест. MyTimer, Класс), не определено".......

каково решение??

5
задан poojan9118 9 July 2010 в 11:47
поделиться

2 ответа

Я бы передал родителя классу 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);
        }
    }
}

Надеюсь, это поможет.

5
ответ дан 18 December 2019 в 09:05
поделиться

Просто используйте MyActivity.this так:

Intent i = new Intent(MyActivity.this, MyActivity.class);
13
ответ дан 18 December 2019 в 09:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: