代码如下所示:
public class ImageAdapter extends BaseAdapter
{
    ...
    imageView.setOnClickListener(AAListener);
}----------------------------------------------------------public class MainMenuActivity extends Activity{
.....  //定义单击监听器
  OnClickListener AAListener = new OnClickListener() {
      public void onClick(View v) {
 Intent intent = new Intent();
         intent.setClass(MainMenuActivity.this,
        BBActivity.class); 
  startActivity(intent);
}
};
}
----------------------------------------------------
public class BBActivity extends Activity{
.....
}
---------------------------------------------------
运行会提示:“ AAListener cannot be resolved”
如果将  //定义单击监听器
  OnClickListener AAListener = new OnClickListener() {
      public void onClick(View v) {
 Intent intent = new Intent();
         intent.setClass(MainMenuActivity.this,
        BBActivity.class); 
  startActivity(intent);
}
};
放在ImageAdapter 类中,会提示:
No enclosing instance of the type MainMenuActivity is accessible in scope
错误请问如何解决这个问题呢?
谢谢了!!!!

解决方案 »

  1.   

    用Ctrl+Shift+O 自动import所需的类, LZ试试看
      

  2.   

    楼主。你是不是在静态方法里用了
     OnClickListener AAListener = new OnClickListener() {
      public void onClick(View v) {
    Intent intent = new Intent();
      intent.setClass(MainMenuActivity.this,
    BBActivity.class);  
    startActivity(intent);
    }
    };
    这个是一个动态内部类,是不是用在了static方法里。  你只贴了出错的那一行,不容易解决。
      

  3.   

    意思就是,你的内部类需要一个外部类的实例才能实例化对象。public class Test {
    public static void main(String[] args) throws InterruptedException  {
    Test t = new Test();
    //注意这里
    Thread th =   new Thread(t.new RunnableTest());
    th.start();
    th.join();
    System.out.println("aaa");

    }
    public class RunnableTest implements Runnable{ public void run() {
    this.getClass();

    System.out.println("bbb");

    }
    }
    }