点击图片按钮,进行跳转
btnAbout.setOnClickListener(new OnClickListener(){   public void onClick(View v) {  

              Intent intent=new Intent();
              intent.setClass(this,main2.class); 
             
    startActivity(intent);  
          }  
      });  
这段代码中对setclass报错,详情如下
The method setClass(Context, Class<?>) in the type Intent is not applicable for the arguments (new View.OnClickListener(){}, Class<main2>)
求大神指点迷津

解决方案 »

  1.   

     intent.setClass(this,main2.class); 这里面的this指的是new OnClickListener的对象实例
    你应该指定的是当前Activity.this
      

  2.   

    this错了,这里的intent.setClass(this,main2.class)的this指的是view,要写这个activity名.this才对,还有后面那句,要写activity名.this.startActivity(intent),,,
      

  3.   

    1楼和2楼说的都对。
    this指针的问题,你要正确理解this指针。
      

  4.   

    new OnClickListener()  内部类,里面用intent  不能这样写,Intent intent=new Intent();
                  intent.setClass(this,main2.class); 
    --------------》》intent.setClass(TestClass.this,main2.class); 
      

  5.   

    The method setClass(Context, Class<?>) in the type Intent is not applicable for the arguments (new View.OnClickListener(){}, Class<main2>)
    把里面的this改成你这个Activity.this就行了,如果只是一个this,它是指new View.OnClickListener(){},上面的错误提示里面已经说了
      

  6.   

                  intent.setClass(Acticity.this,main2.class); 
    直接this的话是引用onClick的实例
      

  7.   

    this错误,  应该用 (activity).this