文档章节

java.lang.NumberFormatException: unable to parse '

今日竹石
 今日竹石
发布于 2014/04/21 09:49
字数 460
阅读 628
收藏 1

问题代码:

public class player_name extends Activity {LinearLayout player_name;TableLayout ply_name;Bundle b,b1;List<TextView> allEds = new ArrayList<TextView>();List<Button> allplus = new ArrayList<Button>();List<Button> allminus = new ArrayList<Button>();List<EditText> alledit = new ArrayList<EditText>();List<TextView> alltotal = new ArrayList<TextView>();@Overrideprotected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.player_name);
    b1 = getIntent().getExtras();
    String[] result = b1.getStringArray("playerName");
    player_name = (LinearLayout) findViewById(R.id.player_name);
    ply_name = new TableLayout(this);
    player_name.addView(ply_name);
    TableLayout.LayoutParams tableRowParams=new TableLayout.LayoutParams 
            (TableLayout.LayoutParams.MATCH_PARENT,TableLayout.LayoutParams.MATCH_PARENT,1.0f);
    TextView[] ed1 = new TextView[result.length+1];
    Button[] plus = new Button[result.length+1];
    Button[] minus = new Button[result.length+1];
    EditText[] point = new EditText[result.length+1];
    TextView[] total = new TextView[result.length+1];
    TableRow[] TR= new TableRow[result.length+1];
    int[] totalscore = null;
    String[] temp = null;
    Button btnResult = new Button(player_name.this);
    btnResult.setText(" click here to get RESULT");
    for(int i=0;i<=(result.length-1);i++)       {
        ed1[i] = new TextView(player_name.this);
        plus[i] = new Button(player_name.this);
        minus[i] = new Button(player_name.this);
        point[i] = new EditText(player_name.this);
        total[i] = new TextView(player_name.this);
        TR[i] = new TableRow(player_name.this);
        allEds.add(ed1[i]);
        alltotal.add(total[i]);
        alledit.add(point[i]);
        allplus.add(plus[i]);
        allminus.add(minus[i]);         
        TR[i].addView(ed1[i]);
        TR[i].addView(point[i]);
        TR[i].addView(plus[i]);
        TR[i].addView(minus[i]);
        TR[i].addView(total[i]);
        ply_name.addView(TR[i]);
        TR[i].setLayoutParams(tableRowParams);
        totalscore[i] =Integer.parseInt(point[i].getText().toString());
        temp[i] = "" + totalscore[i];
        ed1[i].setId(i);
        ed1[i].setHeight(50);
        ed1[i].setWidth(70);
        ed1[i].setText(result[i]);
        ed1[i].setTextColor(Color.CYAN);
        total[i].setId(i);
        total[i].setHeight(50);
        total[i].setWidth(70);
        total[i].setText(""+0);
        total[i].setTextColor(Color.CYAN);
        point[i].setId(i);
        point[i].setHeight(50);
        point[i].setWidth(120);
        point[i].setHint(result[i]+"\'s");
        point[i].setInputType(InputType.TYPE_CLASS_NUMBER);
        point[i].setTextColor(Color.BLACK);
        plus[i].setId(i);
        plus[i].setHeight(50);
        plus[i].setWidth(50);
        plus[i].setText("+");
        plus[i].setTextColor(Color.BLACK);
        minus[i].setId(i);
        minus[i].setHeight(50);
        minus[i].setWidth(50);
        minus[i].setText("-");
        minus[i].setTextColor(Color.BLACK);
        plus[i].setOnClickListener(new OnClickListener() {
            public void onClick(View v) {                   
            }
        });
        minus[i].setOnClickListener(new OnClickListener() {
            public void onClick(View v) {                   
            }
        });         
    }

    LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
    player_name.addView(btnResult, lp);     
    btnResult.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {               
            Intent intent1 = new Intent(player_name.this,result.class);
            startActivity(intent1);             
        }
    });     }}

解决方法:

方法一:

if (IsInteger(point[i].getText().toString()))
   totalscore[i] =Integer.parseInt(point[i].getText().toString());

public static boolean IsInteger(String s){
   if (s == null || s.length() == 0) return false;
   for(int i = 0; i < s.length(); i++)
   {
      if (Character.digit(s.charAt(i), 10) < 0)
         return false;
   }
   return true;}

方法二:

try

{

totalscore[i] = Integer.parseInt(point[i].getText().toString());

} catch (Exception e)

{

e.printStackTrace();

}



© 著作权归作者所有

共有 人打赏支持
今日竹石
粉丝 41
博文 227
码字总数 181312
作品 0
朝阳
程序员
私信 提问
Spring Framework 5.0.5 和 4.3.15 发布,包含大量改进

Spring Framework 5.0.5 和 4.3.15 同时发布了。 Spring Framework 5.0.5 版本是本周晚些时候将要发布的 Spring Boot 2.0.1 版本的基础,4.3.15 版本将同时被 Boot 1.5.11 收录。两个版本都做...

h4cd
04/04
2.7K
3
Xshell 5 Build 0977 发布

Xshell 5 Build 0977 发布了,解决了如下问题: FIX: Crash in Import window FIX: Unable to parse the password of a URI in local shell FIX: Crash related to the keep alive message F......

李玉珏
2016/05/20
4K
27
深入理解Java:SimpleDateFormat安全的时间格式化

想必大家对SimpleDateFormat并不陌生。SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 ...

长平狐
2013/06/17
98
0
unable to parse template class 'Text Files' 解决

在idea中,想在jar包张建一个.java文件,结果不行。然后那个文件就被拉入黑名单是的。即使添加了改文件名的文件,也不能用默认的java编辑器来编辑。解决方法是在unable to parse template cl...

miaojiangmin
2016/11/15
58
0
simpleDateFormat线程不安全

simpleDateFormat是我们比较常用的日期转换类,但是它是一个线程不安全的类。举例证明 这段代码在运行的过程中,会报错。 定义一个静态的SimpleDateFormat实例,是大家在日期工具类中比较通常...

wuyiyi
12/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Sping之项目中pofile的应用

工程中,我们必须要面对的一件事就是, 开发环境中使用的数据库连接地址等与生产上的不同, 如果上线, 那么我们是否还要手动修改这些地址么, 这样做有很多弊端, 不方便, 这时我们就可以使用spr...

克虏伯
16分钟前
0
0
Linux中安装MySQL

Linux中安装MySQL 一、准备工作 此处准备的操作系统位CentOS 7。 MySQL安装包: MySQL-server-5.6.29-1.linux_glibc2.5.x86_64.rpm MySQL-client-5.6.29-1.linux_glibc2.5.x86_64.rpm 将准备......

星汉
21分钟前
0
0
深入理解Hadoop之HDFS架构

Hadoop分布式文件系统(HDFS)是一种分布式文件系统。它与现有的分布式文件系统有许多相似之处。但是,与其他分布式文件系统的差异是值得我们注意的: HDFS具有高度容错能力,旨在部署在低成...

架构师springboot
25分钟前
0
0
MaxCompute表设计最佳实践

MaxCompute表设计最佳实践 产生大量小文件的操作 MaxCompute表的小文件会影响存储和计算性能,因此我们先介绍下什么样的操作会产生大量小文件,从 而在做表设计的时候考虑避开此类操作。 使用...

阿里云官方博客
25分钟前
0
0
云上领跑,快人一步:华为云抢先发布Redis5.0

12月17日,华为云在DCS2.0的基础上,快人一步,抢先推出了新的Redis 5.0产品,这是一个崭新的突破。目前国内在缓存领域的发展普遍停留在Redis4.0阶段,华为云率先发布了Redis5.0,全面展现了...

中间件小哥
25分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部