如何在活动中实施“不再显示”功能?

时间:2019-09-24 17:46:50

标签: java android

  

基本上,我有一个启动屏幕,其后是一个入门活动,底部有一个按钮,一个复选框不再显示   说活动。我如何实现它,使其达到我的预期   去做?我是一个自学成才的新开发人员。我不需要答案   直截了当,请指向正确的方向。

<CheckBox
            android:id="@+id/do_not_show_again"
            android:layout_width="249dp"
            android:layout_height="21dp"
            android:layout_marginTop="12dp"
            android:text="@string/do_not_show_again"
            android:textAlignment="center"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.513"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/get_started_button" />

    </androidx.constraintlayout.widget.ConstraintLayout>

2 个答案:

答案 0 :(得分:0)

不使用启动活动。没有使用延迟用户3或4秒。而是使用完整视图片段,这将有助于加载Main Activity的UI元素。 将布尔值存储在共享首选项中,以永久消失片段。

答案 1 :(得分:0)

首先,您需要在共享首选项上存储您的复选框值。

SharedPreferences sharedpref = getSharedPreferences("shared_prefs", MODE_PRIVATE);
SharedPreferences.Editor sharedpref_editor = sharedpref.edit();;

确认复选框是否通过onClick选中,然后将布尔值true存储在标记“跳过”上

YOUR_BUTTON.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {

    if (YOUR_CHECKBOX.isChecked()) {

         sharedpref_editor.putBoolean("skip", true);
         sharedpref_editor.apply();

    }
  }
});

然后,下次打开活动时,您的程序应通过在onCreate活动中执行此操作,以检查共享首选项中标签“ skip”下的值。

Boolean saveSkip = sharedpref.getBoolean("skip", false);
if(saveSkip){

  Intent skipIntent = new Intent(MainActivity.this, YourTargetActivity.class);
  startActivity(skipIntent);
  finish();

}