0

你好我需要在输入中添加一个破折号(-),如果用户输入 4569 显示 45-69 或者如果用户输入 568923 显示 56-89-23,我使用子字符串,但它让我和错误无效输入,我使用列表视图和列表数据。谢谢你

这是我的代码:

private void showListViewData()
{



    int x = Integer.parseInt(inJugada.getText().toString().substring(0,2)
            + "-" + inJugada.getText().toString().substring(2));
    //int x = Integer.parseInt(inJugada.getText().toString());
    int y = Integer.parseInt(inValor.getText().toString());

    String z = "";
    String zQN = "Qn";
    String zPL = "Pl";  
    String zTR = "Tr";

    inJugada.setText(String.valueOf(x));
    inValor.setText(String.valueOf(y));

   if(String.valueOf(x).length() == 2){
       z = zQN;

   }else if(String.valueOf(x).length() == 4){

       z = zPL;

   }else if(String.valueOf(x).length() == 6){
       z = zTR;
   }


    mData.add(new Data(z, x, y));

    // add new data to list and refresh
    mAdapter.notifyDataSetChanged();
}
4

2 回答 2

1

您遇到了一个错误,因为您尝试将 String 转换为无法再解析的 Integer。看看这个声明:

int x = Integer.parseInt(inJugada.getText().toString().substring(0,2)
        + "-" + inJugada.getText().toString().substring(2));

将破折号添加到字符串中后,您将无法再将其解析为整数。

于 2012-11-20T16:49:01.137 回答
0

这对你有用吗?如果您正在寻找类似的东西,请尝试一下

String dummyString yourMainString.substring(0,2);
for(int x = 2;x < yourMainString.length -2 ; x+2)
dummyString = dummyString + "-"+ yourMainString.substring(x,x+2) ; 
dummyString = dummyString + yourMainString.substring(x,yourMainString.length ) ; 

dummyString 将有 - 后两位数

于 2012-11-20T16:48:49.017 回答