0

我正在开发一个 android 应用程序,其中有一个日期选择器来选择出生日期......我需要在文本视图中显示这个日期,并且这个日期必须添加到一个数字中......并显示在一个文本视图中..我在文本视图中显示日期的地方做了代码,但我需要显示它的总和..

例如,如果出生日期是 04 02 1984 那么 0+4 0+2 1+9+8+4 所以答案是 4, 2, 4 并且必须在文本视图中单独显示。

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


     final DatePicker date = (DatePicker) findViewById(R.id.datePicker1);
     final TextView tvDate = (TextView) findViewById(R.id.textView2);


     date.init(date.getYear(), date.getMonth(), date.getDayOfMonth(),new OnDateChangedListener()
     {


    @Override
    public void onDateChanged(DatePicker arg0, int arg1, int arg2, int arg3) {
        // TODO Auto-generated method stub
        int sum = 0;
         String date=Integer.toString(arg3);
         String month=Integer.toString(arg2);
         String year=Integer.toString(arg1);

         tvDate.setText(month+date+year);

    }


     }  );
}
}
4

3 回答 3

1

为每个 Day、Month 和 Year 变量调用“sum”函数

int daySum=sum(Integer.parseInt(day));
int monthSum=sum(Integer.parseInt(month));
int yearSum=sum(Integer.parseInt(year));
tvDay.setText(daySum);
tvMonth.setText(monthSum);
tvYear.setText(yearSum);

int sum(int number){
        int remainder = number % 9;
        if (number == 0) {
            return number;
        } else {
            if (remainder == 0) {
                return number;
            }else{
                return remainder;
            }
        }
}
于 2013-08-28T09:54:07.907 回答
1

首先检查验证:

String day = "";
if (dayOfMonth < 10) {
    day = "0" + dayOfMonth;
}else {
    day = String.valueOf(dayOfMonth);
}

String month = "";
int get_month = monthOfYear + 1;
if (get_month < 10) {
    month = "0" + get_month;
}else {
    month = String.valueOf(get_month);
}

String date = day + "-" + month + "-" + year;
于 2018-12-04T12:58:46.137 回答
0

如果我理解正确,那么您正在寻找的是在您的 onDateChanged 方法中将字符串转换为整数,所以可能是这样的:

int i = 0 ;
while(i<2 ) // 2 for day and month 4 for year ... or what ever fits u can also run until the length of the string
 dateDigit += Integer.parseInt.subString(i++,i++);
//this is just an idea , havent tested the code or anything

继续这样做,直到你有一个数字(链接到发布这个)或者可能一些递归方法会继续这样做,直到你只有一个数字

希望这适合

于 2013-08-28T09:45:21.023 回答