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