如何从android中扩展活动的类的函数中获取上下文?

如何从android中扩展活动的类的函数中获取上下文?,android,android-activity,android-context,Android,Android Activity,Android Context,我有一个扩展活动的类,当我尝试从onCreate()方法访问上下文时,它会被打印出来,但当我将它保存在变量上下文中并尝试从committext()函数访问它时,它会打印空值,如下所示。我还尝试直接从committext()函数中使用“this”和getBaseContext(),因为它是同一个类的一部分,所以我得到空指针异常。请帮我找出哪里出了问题 public class MainKeyboardActionListener extends Activity implements Keybo

我有一个扩展活动的类,当我尝试从onCreate()方法访问上下文时,它会被打印出来,但当我将它保存在变量上下文中并尝试从
committext()
函数访问它时,它会打印空值,如下所示。我还尝试直接从
committext()
函数中使用“this”和
getBaseContext()
,因为它是同一个类的一部分,所以我得到空指针异常。请帮我找出哪里出了问题

public class MainKeyboardActionListener  extends Activity implements KeyboardView.OnKeyboardActionListener, View.OnTouchListener {
    private Context context;
    public static boolean active = false;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mode_keyboard, false);
        context=getBaseContext();
        System.out.println("contexxtt1"+context);
    }

    @Override
    public void onStart() {
        super.onStart();    
        active = true;
    }

    @Override
    protected void onResume() {
        super.onResume();
    }

    private static class myHandler extends Handler {
    }
    ;

    public void setInputConnection(InputConnection ic) {    
    }

    @Override
    public void onKey(int arg0, int[] arg1) {
        // TODO Auto-generated method stub    
    }

    @Override
    public void onPress(int keyCode) {
    }

    @Override
    public void onRelease(int keyCode) {
        commitText(String.valueOf(keyCode));
    }

    private void handleException(int keyCode) {
    }

    private void removeHalantMode() {
    }


    private void commitText(String text) {
        if(active==true) {
            System.out.println("contexxtt"+context);
        }
    }

    @Override
    public void onText(CharSequence arg0) {
        // TODO Auto-generated method stub
    }

    @Override
    public void swipeDown() {
        // TODO Auto-generated method stub
    }

    @Override
    public void swipeLeft() {
        // TODO Auto-generated method stub
    }

    @Override
    public void swipeRight() {
        // TODO Auto-generated method stub
    }

    @Override
    public void swipeUp() {
        // TODO Auto-generated method stub
    }

    @Override
    protected void onPause() {
        super.onPause();
    }

    @Override
    public void onStop() {
        super.onStop();
        active = false;
    }

    @Override
    public void onDestroy() {
        super.onDestroy();    
    }
}

使您的
myHandler
类不是
static

您的上下文就是您的活动,因此要引用它,您需要以下内容keyword@firegloves我已经试过使用这个,workPost stacktrace不是针对例外情况吗?你在哪里设置KeyboardView.OnKeyboardActionListener,View.OnTouchListener在某个视图上?我认为onRelease永远不会被执行。您想要实现什么?请发布mode_keyboard.xml