可以再详细点吗。不太明白char[] name={65,65,65,65};
if(keyCode==KeyEvent.KEYCODE_DPAD_UP){
if(name[index]<90){
name[index]++;
}
else{
if(name[index]>65){
name[index]--;
}

解决方案 »

  1.   

    index是怎么设置值的?curselected初始值是什么,这个很重要!
    if(name[index]<90){//init is 65,so if curselected==SIGN,it would continue ++ to 90 
    name[index]++;
    }
    else{
    if(name[index]>65){
    name[index]--;
    }
    怀疑在其它的地方有处理这些变量的函数,比如,onKeyDown(),没有全部代码,这个代码无意义
      
      

  2.   

    private int curselected;
    private static final int START=0;
    private static final int EXIT=1;
    private static final int SIGN=2;
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    switch(keyCode){

    case KeyEvent.KEYCODE_DPAD_DOWN:
    case KeyEvent.KEYCODE_DPAD_UP:

    if(curselected==SIGN){
    if(keyCode==KeyEvent.KEYCODE_DPAD_UP){
    if(name[index]<90){
    name[index]++;
    System.out.println("90index"+index);
    }
    else{
    if(name[index]>65){
    name[index]--;
    System.out.println("65index"+index);
    }
    }
    }else{
    if(curselected==START){
    curselected=EXIT;
    }
    else{
    curselected=START;
    }
    }