http://topic.csdn.net/u/20100727/10/90305f12-e106-41f9-bd76-3decf7e6f8e6.html?seed=1853339152&r=72972194#r_72972194就是这个帖子里面给了个方法:
  在a里面设置一个静态的变量instance,初始化为this
  在D里面,a.instance.finish()请问这个instance应该怎么设置?我用
public class a extends Activity
{
static a instance=a.this;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}提示我"不能在静态上下文中使用this"

解决方案 »

  1.   

    public class a extends Activity
    {
      public static a instance=a.this;
    }public class B extends Activity

        public void closeA() {
         a.instance.finish();
       }
      

  2.   

    静态数据成员属于类的,所以直接用就可以。 a.instance.finish();
      

  3.   

    public class a extends Activity
    {
      public static a instance=a.this;
    }public class B extends Activity

      public void closeA() {
      a.instance.finish();
      }
    }直接关……
      

  4.   

    1楼的不行,还是跟我说不能在静态上下文中使用 this
      

  5.   

    楼上几位好好看问题啊...我的问题不是关不掉,而是定义instance时就报错
      

  6.   

    a instance=a.this;
    这句要移到a的oncreate事件中执行
      

  7.   

    public class A_activity extends Activity { public static A_activity _instance = null; @Override
    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

    _instance = this;
    }


    }public class B_activity extends Activity { @Override
    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    A_activity._instance.finish();

    }
    }静态变量不能这么赋值
      

  8.   

    在public class XXX extends Activity 
        /** Called when the activity is first created. */
        这里定义
        public static XXXX xx;其他地方用XXXX.xx.finish()