Android 安卓,按钮赢了';Try-Catch块中的t函数

Android 安卓,按钮赢了';Try-Catch块中的t函数,android,button,try-catch,Android,Button,Try Catch,我正在编写一个程序,使用edittext获取用户输入,并将textview转换为以显示该文本 输入是number,我已经正确地将字符串转换为整数值,唯一的问题是我必须使用try-catch块来捕获number格式错误。问题是,我必须在try-catch块中包含用于将TextView设置为Inputed的按钮,以便该按钮知道用户设置的值是什么 try{ EditText hour = (EditText) findViewById(R.id.hourin); EditTex

我正在编写一个程序,使用edittext获取用户输入,并将textview转换为以显示该文本

输入是number,我已经正确地将字符串转换为整数值,唯一的问题是我必须使用try-catch块来捕获number格式错误。问题是,我必须在try-catch块中包含用于将TextView设置为Inputed的按钮,以便该按钮知道用户设置的值是什么

try{

     EditText hour = (EditText) findViewById(R.id.hourin);

     EditText  min = (EditText) findViewById(R.id.minin);

     final TextView FinalTime = (TextView) findViewById (R.id.FinalTimeDisplay);


     String hoursString = hour.getText().toString();
     String minsString = min.getText().toString();


     int hours = Integer.parseInt(hoursString);
     int mins = Integer.parseInt(minsString);


    final String time = (hours + ":" + mins);

    Button Submit = (Button) findViewById(R.id.submit);
    Submit.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {


               FinalTime.setText(time);

        }
    });

    } catch (NumberFormatException e){

    }

也许,您需要在
public void onClick()
的顶部添加@Override装饰器

@Override
public void onClick(View v) {
    FinalTime.setText(time);
}
Button Submit=(按钮)findviewbyd(R.id.button1);
Submit.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
试一试{
整小时=0;
整数分钟=0;
int-breaktimes=0;
hours=Integer.parseInt(hour.getText().toString());
mins=Integer.parseInt(min.getText().toString());
breaktimes=Integer.parseInt(breaktime.getText().toString());
分钟=(分钟+中断时间);
如果(分钟>=60){
小时=小时+1;
分钟=分钟-60;
}
如果(小时数>12){
小时=小时-12;
} 
如果(分钟<10){
setText(小时+”:“+”0“+分钟);
}否则{
FinalTime.setText(小时+“:“+分钟);
}
}捕获(数字格式){
}
}
});

移动此
字符串hoursString=hour.getText().toString();字符串minString=min.getText().toString()
单击一次
。从logcat中提取异常部分并将其发布到此处查看此信息以了解堆栈跟踪..是否存在异常?我不知道问题出在哪里。崩溃,功能不正常(如果是这样的话,怎么办?)等等。如果我在整个语句中使用try-catch块,则应用程序在启动时将崩溃。按钮Submit不做任何操作。TextView保持不变。为什么不将
try/catch
块放入
onClick()
?另外,它是否捕获数字格式异常?如果是这样,这将阻止它更改文本。您真的应该(至少)记录异常,而不是在
catch
块中什么都不做。添加一些解释会很好:)
          Button Submit = (Button) findViewById(R.id.button1);
          Submit.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {

                try {

                    int hours = 0;
                    int mins = 0;
                    int breaktimes = 0;

                    hours = Integer.parseInt(hour.getText().toString());
                    mins = Integer.parseInt(min.getText().toString());
                    breaktimes = Integer.parseInt(breaktime.getText().toString());  

                    mins = (mins + breaktimes);
                    if (mins >= 60){
                        hours = hours + 1;
                        mins = mins - 60;
                    }

                    if (hours > 12){
                        hours = hours - 12;
                    } 


                if (mins < 10){ 
               FinalTime.setText(hours +":" +"0"+ mins);
                }else{
                    FinalTime.setText(hours + ":" +mins);
                }
            }catch (NumberFormatException e){

            }
        }

    });