你好我需要在输入中添加短划线( - ),如果用户将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();
}
答案 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将有一个 - 两位数后