【问题标题】:passing Date from onClick listener to another class将日期从 onClick 侦听器传递到另一个类
【发布时间】:2017-01-09 18:38:22
【问题描述】:

从一个选定的值,我想把它发送到另一个变量

        DatePickerDialog mDatePicker = new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {
            public void onDateSet(DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday) {
                year = selectedyear;
                month = selectedmonth;
                day = selectedday;
                stardate.setText(new StringBuilder().append(day).append("-").append(month + 1).append("-").append(year).append(" "));
            }
        }, year, month, day);
        mDatePicker.setTitle("Please select date");
        mDatePicker.getDatePicker().setMaxDate(System.currentTimeMillis());
        mDatePicker.show();
    }
});

【问题讨论】:

  • 您可以通过方法、实例变量、Serializables 将值传递给另一个类。你的问题到底是什么?
  • 你想将值从“onDateSet”方法传递给另一个活动吗?

标签: android


【解决方案1】:

如前所述,把上面的代码替换成这个

DatePickerDialog mDatePicker = new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {
        public void onDateSet(DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday) {
            year = selectedyear;
            month = selectedmonth;
            day = selectedday;
            String date = "" + day + "-" + (month+1) + "-" + year;
            stardate.setText(date);

            Intent intent = new Intent(MainActivity.this, NewActivity.class);
            intent.putExtra("date",date);
            startActivity(intent);
        }
    }, year, month, day);
    mDatePicker.setTitle("Please select date");
    mDatePicker.getDatePicker().

    setMaxDate(System.currentTimeMillis());
    mDatePicker.show();
}
});

在NewActivity.java中检索数据

在 onCreate() 方法中:

Intent intent = getIntent();
        if(intent != null) {
            String date = intent.getStringExtra("date");
        }

【讨论】:

  • 显示错误 必需:java.lang.String 找到:java.lang.StringBuilder on String date = new StringBuilder().append(day).append("-").append(month + 1).append("-").append(year).append(" ");
  • 感谢您的纠正。你能告诉我如何获得这个价值,因为我是这方面的初学者吗
  • 也添加了那段代码。现在检查它尼克! :)
  • thak u.will 你帮我一个忙我已经在一个字符串变量中以我需要的格式获取日期值,我想在相同的代码中使用它来查找日期差异我该怎么做
  • 向我展示您在转换为所需格式时使用的代码。
【解决方案2】:

你可以使用

Intent I=new Intent(context,your next activity.class);
I.putExtra("day",day);
I.putExtra("month",month);
I.putExtra("year",year);
startActivity(I);

或者

你可以使用

Intent I=new Intent(context, yourNextActivity.class);
I.putExtra("date",your StringBuilder object);

【讨论】:

  • 感谢您的评论。但我想在相同的活动中使用它。并想使用那个日期我怎么能。请帮助我是新手
  • 我只想用户从日历中获取日期,我想用它来查找与当前日期的日期差异
【解决方案3】:

清除一个公共变量并以字符串格式存储日期的值,以便在您的代码中使用它,无需使用意图或对象。

【讨论】:

    猜你喜欢
    • 2017-05-24
    • 2018-10-09
    • 1970-01-01
    • 1970-01-01
    • 2019-05-20
    • 2014-02-15
    • 1970-01-01
    • 1970-01-01
    • 2021-01-05
    相关资源
    最近更新 更多