我想制作自己的键盘。
我有以下代码
当我运行代码时,它会抛出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);
}
}
我该怎么办?请帮帮我。
答案 0 :(得分:1)
移动线
setContentView(R.layout.main);
直接在
之后super.onCreate(savedInstanceState);
findViewById()方法在您的活动中的Views(View层次结构)树中搜索具有指定id的树,并返回该View对象。如果在调用findViewById()之前未调用setContentView,则既未创建特定的View对象,也未将其添加到View层次结构中。