Java 限制每天点击按钮的次数

Java 限制每天点击按钮的次数,java,android,Java,Android,我想限制每天点击一个按钮的次数(5次)。这个按钮允许你转动方向盘 车轮活动 ImageView imageView = findViewById(R.id.imageView11); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { onBackPressed(); }

我想限制每天点击一个按钮的次数(5次)。这个按钮允许你转动方向盘

车轮活动

 ImageView imageView = findViewById(R.id.imageView11);
    imageView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            onBackPressed();
        }
    });
    final SharedPreferences coins = getSharedPreferences("Rewards", MODE_PRIVATE);
    final LuckyWheelView luckyWheelView = (LuckyWheelView) findViewById(R.id.luckyWheel);
    findViewById(R.id.play).setEnabled(true);
    findViewById(R.id.play).setAlpha(1f);

    calendar = Calendar.getInstance();
    int year = calendar.get(Calendar.YEAR);
    int month = calendar.get(Calendar.MONTH);
    int day = calendar.get(Calendar.DAY_OF_MONTH);
    weekday = calendar.get(Calendar.DAY_OF_WEEK);
    todayString = year + "" + month + "" + day;
    final SharedPreferences spinChecks = getSharedPreferences("SPINCHECK", 0);
    final boolean currentDay = spinChecks.getBoolean(todayString, false);
控制盘xml

<Button
    android:id="@+id/play"
    android:layout_width="245dp"
    android:layout_height="79dp"
    android:layout_marginStart="60dp"
    android:layout_marginTop="8dp"
    android:layout_marginEnd="60dp"
    android:background="@drawable/back1now"
    android:fontFamily="@font/font"
    android:text="@string/play"
    android:textAppearance="@style/play"
    android:textColor="#ffffff"
    android:textSize="15sp"
    android:textStyle="bold"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/Relativespin"
    app:layout_constraintVertical_bias="0.61" />

我添加了最后一段代码(我可以这么做)

So,而不是对
spinChecks.getBoolean使用布尔值(todayString,false)
,您可以使用
Int
值。然后,您将验证
spinChecks.getInt(todayString,0)
调用是否高于4,如果高于4,只需调用
playButton.seEnabled(false)
,否则,调用
setEnabled(true)
so,而不是使用布尔值来表示
spinChecks.getBoolean(todayString,false)
,您可以使用
Int
值。然后,您将验证
spinChecks.getInt(todayString,0)
调用是否高于4,如果是,只需调用
playButton.seEnabled(false)
,否则,调用
setEnabled(true)

我更新了代码(添加到帖子中的最后一个代码)现在请告诉我如何整合您的code@GNAKALEHACKER这基本上是相同的想法,只是不要使用布尔值,而是使用整数计数。不要在OnClickListener中使用spin.putBoolean(todayString,true),而要使用putInt(todayString,spinChecks.getInt(todayString,0)+1,这样每次单击都会添加1。正如我所解释的,只需检查该值是否高于4,并将您的按钮标记为禁用。我更新了代码(添加到帖子中的最后一个代码),请现在告诉我如何集成您的code@GNAKALEHACKER这基本上是相同的想法,只是不要使用布尔值,而是使用整数计数。不要在OnClickListener中使用spin.putBoolean(todayString,true),而要使用putInt(todayString,spinChecks.getInt(todayString,0)+1,这样每次单击都会添加1。正如我所解释的,只需检查该值是否高于4,并将按钮标记为禁用。
findViewById(R.id.play).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
                int index = getRandomIndex();
                luckyWheelView.startLuckyWheelWithTargetIndex(index);
                SharedPreferences.Editor spins = spinChecks.edit();
                spins.putBoolean(todayString, true);
                spins.apply();
                findViewById(R.id.play).setEnabled(false);
                findViewById(R.id.play).setAlpha(.5f);