我试图在android上做一个纵横填字游戏,我想为所有的edittext添加一个focuslistener,这样当我在上面写一个字符并将我的焦点切换到其他edittext时,它会检查我是否输入了正确的字符(设置背景绿色)或者没有(设置背景红色)。
现在我有了这个
campo1= new CampoCrossword(R.id.et_2_7_E, 'E');
campo2= new CampoCrossword(R.id.et_2_6_M, 'M');
campo3= new CampoCrossword(R.id.et_2_5_R, 'R');
campo4= new CampoCrossword(R.id.et_4_7_A, 'A');
campo5= new CampoCrossword(R.id.et_4_8_T, 'T');
campo6= new CampoCrossword(R.id.et_4_9_A, 'A');
campo7= new CampoCrossword(R.id.et_4_4_R, 'R');
campo8= new CampoCrossword(R.id.et_4_5_E, 'E');
campo9= new CampoCrossword(R.id.et_2_4_E, 'E');
campo10= new CampoCrossword(R.id.et_2_3_B, 'B');
campo11= new CampoCrossword(R.id.et_3_6_A, 'A');
campo12= new CampoCrossword(R.id.et_4_6_G, 'G');
campo13= new CampoCrossword(R.id.et_5_6_D, 'D');
campo14= new CampoCrossword(R.id.et_6_7_K, 'K');
campo15= new CampoCrossword(R.id.et_6_8_A, 'A');
campo16= new CampoCrossword(R.id.et_6_5_D, 'D');
campo17= new CampoCrossword(R.id.et_6_3_U, 'U');
campo18= new CampoCrossword(R.id.et_5_3_J, 'J');
campo19= new CampoCrossword(R.id.et_7_3_L, 'L');
campo20= new CampoCrossword(R.id.et_10_4_I, 'I');
campo21= new CampoCrossword(R.id.et_10_5_Z, 'Z');
campo22= new CampoCrossword(R.id.et_10_7_R, 'R');
campo23= new CampoCrossword(R.id.et_10_8_O, 'O');
campo24= new CampoCrossword(R.id.et_9_3_O, 'O');
campo25= new CampoCrossword(R.id.et_8_3_I, 'I');
campo26= new CampoCrossword(R.id.et_6_2_M, 'M');
campo27= new CampoCrossword(R.id.et_6_4_N, 'N');
campo28= new CampoCrossword(R.id.et_6_6_A, 'A');
campo29= new CampoCrossword(R.id.et_8_6_E, 'E');
campo30= new CampoCrossword(R.id.et_9_6_N, 'N');
campo31= new CampoCrossword(R.id.et_10_6_A, 'A');
campo32= new CampoCrossword(R.id.et_7_6_L, 'L');
/*i was trying to do it with one first and then with all but it doesnt work xD*/
findViewById(R.id.et_2_8_O).setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
check();
}
});
2条答案
按热度按时间x8goxv8g1#
我解决了我的问题,在arraylist上输入了所有的edittext,并使用foreach添加focuschangelistener,如下所示
顺便说一句,listacampos是arraylist,campocrosword是我用edittext id示例化一个对象的类
oiopk7p52#
你创造了一堆
View
s(我想CampoCrossword
是一个扩展View
,但是当你打电话的时候findViewById()
,框架将在当前View
层次结构(由setContentView()
)返回一个View
只需要创建CampoCrossword
并没有把它们放进View
等级制度。