Android KeyboardView抛出Nullpointer

时间:2011-09-24 15:17:03

标签: android android-softkeyboard

我想制作自己的键盘。

我有以下代码

当我运行代码时,它会抛出NullPointerException。


我的RKeyboardView延伸KeyboardView

package com.glenn.droid; // MY package

import android.content.Context;
import android.inputmethodservice.KeyboardView;
import android.util.AttributeSet;

public class RKeyboardView extends KeyboardView {

    public RKeyboardView(Context context, AttributeSet attrs) {
        super(context, attrs);
        // TODO Auto-generated constructor stub
    }
}

我的主要活动

MobileActivity.java

public class MobileActivity extends ListActivity  {

    private RKeyboardView r;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        r = (RKeyboardView) findViewById(R.id.rKeyboardView1);
        r.setKeyboard(new Keyboard(this,R.xml.qwerty));

        setContentView(R.layout.main);
    }
}

我该怎么办?请帮帮我。

1 个答案:

答案 0 :(得分:1)

移动线

 setContentView(R.layout.main);

直接在

之后
super.onCreate(savedInstanceState);

findViewById()方法在您的活动中的Views(View层次结构)树中搜索具有指定id的树,并返回该View对象。如果在调用findViewById()之前未调用setContentView,则既未创建特定的View对象,也未将其添加到View层次结构中。