在列表视图中划线

时间:2012-11-20 16:40:14

标签: android listview

你好我需要在输入中添加短划线( - ),如果用户将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();
}

2 个答案:

答案 0 :(得分:1)

您遇到错误,因为您尝试将String转换为无法再解析的Integer。看一下这句话:

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

在字符串中添加短划线后,您将无法将其解析为整数。

答案 1 :(得分: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将有一个 - 两位数后