как ссылаться на более высокий класс в анонимном классе - PullRequest
3 голосов
/ 08 февраля 2010

У меня есть этот код:

public class Home extends Activity{

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
            //...
            //at some point I have
            s.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){

              @Override
              public void onProgressChanged(SeekBar seekBar, int progress,
                      boolean fromUser) {

                  ContextNotionLevel ctnl=new ContextNotionLevel(this);
// <-- how can I reference Home class here to replace **this**, which as it is points to OnSeekBarChangeListener
              }
    }
}

Ответы [ 2 ]

5 голосов
/ 08 февраля 2010

Вы можете попробовать:

 ContextNotionLevel ctnl=new ContextNotionLevel(Home.this);
3 голосов
/ 08 февраля 2010

Вы можете использовать Home.this для ссылки на объект Home.

...