微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在视图中输入星期几的简单方法是什么?

如何解决在视图中输入星期几的简单方法是什么?

所以我有 3 个文本视图来显示未来 3 天的预测。我使用视图绑定来绑定视图,但我觉得有一种更简单的编写方法,但我想不出解决方案。如何遍历一周中的几天并相应地设置文本视图?

'''
// getting day of the week
private val dayOfWeek: DayOfWeek = LocalDate.Now().dayOfWeek
// getting day of week as int value
private val dayNum: Int = dayOfWeek.value

'''

     ''' // 1 = monday etc

      private fun forecastDays() {


        when (dayNum){
            // forecast of next three days
            1 -> {
                binding.tvDay1.text = "Tuesday"
                binding.tvDay2.text = "Wednesday"
                binding.tvDay3.text = "Thursday"
            }
            2 -> {
                binding.tvDay1.text = "Wednesday"
                binding.tvDay2.text = "Thursday"
                binding.tvDay3.text = "Friday"
            }
            3 -> {
                binding.tvDay1.text = "Thursday"
                binding.tvDay2.text = "Friday"
                binding.tvDay3.text = "Saturday"
            }
            4 -> {
                binding.tvDay1.text = "Friday"
                binding.tvDay2.text = "Saturday"
                binding.tvDay3.text = "Sunday"
            }
          .. etc

'''

解决方法

我猜你可能可以用 DateFormatter 做到这一点。这是另一种使用地图的方法。您可以将 daysMap 设为常量。

val daysMap = mapOf(
    1 to "Sunday",2 to "Monday",3 to "Tuesday",4 to "Wednesday",5 to "Thursday",6 to "Friday",7 to "Saturday"
)
val dayOfWeek: DayOfWeek = LocalDate.now().dayOfWeek
val dayNum: Int = dayOfWeek.value
binding.tvDay1.text = daysMap[(dayNum + 1) % 7]
binding.tvDay2.text = daysMap[(dayNum + 2) % 7]
binding.tvDay3.text = daysMap[(dayNum + 3) % 7]
,

DayOfWeek 是一个 Enum,这意味着您可以使用序数作为索引以数字方式获取 DayOfWeek。

void
timer_sleep (int64_t ticks) 
{
  int64_t start = timer_ticks ();

  ASSERT (intr_get_level () == INTR_ON);

  struct thread *cur = thread_current();
  cur->block_ticks = ticks;
  enum intr_level old_level = intr_disable ();
  thread_block();

  intr_set_level (old_level);
  thread_yield();
}

static void
timer_interrupt (struct intr_frame *args UNUSED)
{
  ticks++;
  thread_tick ();
  thread_foreach (timer_check,NULL);
}

void 
timer_check (struct thread *thread,void *aux) {
  if (thread->status == THREAD_BLOCKED) {
    thread->block_ticks--;
    if (thread->block_ticks <= 0) {
      thread_unblock(thread);
    }
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?