【问题标题】:How can I set a button's onClick so that it takes me to an activity based on what day of the week it is?如何设置按钮的 onClick 以便它根据星期几将我带到活动?
【发布时间】:2020-08-27 01:43:09
【问题描述】:

我是一名业余 Android 应用程序开发人员。 谁能给我发个代码,当我点击一个按钮时,它会检测到现在是哪一天(周日、周一、周二等),并根据当天带我去不同的活动。

例如。如果是星期二,我单击按钮 1,它会将我带到活动 3。 如果是星期三,我单击按钮 1,它会将我带到活动 5。 如果是星期五,我点击按钮 1,它将带我到活动 6。

谢谢,您的帮助将不胜感激。

【问题讨论】:

标签: java android android-studio


【解决方案1】:
  Button btn=(Button) findViewById(R.id.alert_btn);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Calendar calendar=Calendar.getInstance();
            SimpleDateFormat sdf=new SimpleDateFormat("EEEE");

            switch (sdf.format(calendar.getTime())){
                case "Saturday":
                    startActivity(new Intent(MainActivity.this,Activity0.class));
                    break;
                case "Sunday":
                    startActivity(new Intent(MainActivity.this,Activity1.class));
                    break;
                case "Monday":
                    startActivity(new Intent(MainActivity.this,Activity2.class));
                    break;
                case "Tuesday":
                    startActivity(new Intent(MainActivity.this,Activity3.class));
                    break;
            }

        }
    });

【讨论】:

  • 非常感谢,真的很大的帮助!
【解决方案2】:

您可以使用 Calendar 类来检查 day_of_week 并使用 Intent 移动到 android 中的下一个 Activity。 Calendar.DAY_OF_WEEK 将给出 1-7 之间的值,即(星期日到星期六)。检查此代码以解决您的问题

 b1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Calendar cal = new GregorianCalendar();
                int day_of_week=cal.get(Calendar.DAY_OF_WEEK);
                 Intent in;
                //Use switch case to check day
                switch (day_of_week)
                {
                    case 1:
                         in=new Intent(YourCurrentActivity.this,NextActivity.class);
                        startActivity(in);
                        break;
                    case 2:
                        //make such cases and change your next Activity as you want
                }

            }
        });

【讨论】:

  • 非常感谢,真的很大的帮助!
  • @DenverSaldanha 欢迎丹佛!! .如果它解决了您提出的问题,请将我的回答标记为已接受。
  • 在你上面的答案中,这家伙设置了周六、周一、周二等案例,因此我知道哪些活动在哪里进行。我怎么知道在您的答案中将哪个活动放在哪里,请提及!我是一个真正的菜鸟,所以请用“days”而不是“cases”编辑你的答案来指导我
  • 在这个 '1' 代表星期日和类似的 2-星期一、3-星期二、4-星期三、5-星期四、6-星期五、7-星期六。 @DenverSaldanha
  • 酷,我检查了它,但是,如果 2 单词 ''in'' 表示变量 ''in'' 已在范围内定义,我会收到错误。
猜你喜欢
  • 2019-03-06
  • 2015-10-03
  • 2016-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-20
相关资源
最近更新 更多