Android Datepicker日期以单个数字添加和显示

时间:2013-08-28 09:36:12

标签: java android date datepicker

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

例如,如果出生日期是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);

    }


     }  );
}
}

3 个答案:

答案 0 :(得分:1)

每天,月和年变量的CALL“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;
            }
        }
}

答案 1 :(得分:1)

首先,您需要验证:

<meta>

答案 2 :(得分:0)

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

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

继续这样做,直到你有一位数字(Link to post for this) 或mayb一些递归方法,将继续这样做,直到你只有一个数字

希望这适合