Android 按ShowcaseView按钮切换到其他视图
我目前正致力于在应用程序中实现ShowcaseView。我的目标是在按下“完成”按钮时更改视图。我目前遇到的问题是,一旦它更改为新视图,整个代码块将再次运行,ShowcaseView将在下一页再次弹出。在我添加代码以更改视图之前,一切都正常工作。感谢您的帮助 以下是我目前掌握的代码:Android 按ShowcaseView按钮切换到其他视图,android,android-studio,showcaseview,Android,Android Studio,Showcaseview,我目前正致力于在应用程序中实现ShowcaseView。我的目标是在按下“完成”按钮时更改视图。我目前遇到的问题是,一旦它更改为新视图,整个代码块将再次运行,ShowcaseView将在下一页再次弹出。在我添加代码以更改视图之前,一切都正常工作。感谢您的帮助 以下是我目前掌握的代码: public void createShowView() { ShowcaseView sc = new ShowcaseView.Builder(getActivity())
public void createShowView() {
ShowcaseView sc = new ShowcaseView.Builder(getActivity())
.setTarget(new ViewTarget())
.setContentTitle("")
.setContentText("")
.setStyle(R.style.CustomShowcaseTheme2)
.hideOnTouchOutside()
.setShowcaseEventListener(new SimpleShowcaseEventListener() {
public void onShowcaseViewDidHide(ShowcaseView showcaseView) {
Intent tab2 = new Intent(getContext(), tabs.class);
tab2.putExtra("Specific Tab", 1);
startActivity(tab2);
}
})
.build();
}
public void createDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage("To view a full tutorial of ...., press continue.")
.setTitle("View Tutorial");
builder.setPositiveButton("Continue", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
createShowView();
}
});
builder.setNegativeButton("Skip Tutorial", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
getActivity().getSharedPreferences("PREFERENCE", Context.MODE_PRIVATE).edit()
.putBoolean("isfirstrun", false)
.commit();
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Boolean isFirstRun = this.getActivity().getSharedPreferences("PREFERENCE", Context.MODE_PRIVATE)
.getBoolean("isfirstrun", true);
if (isFirstRun) {
createDialog();
}
}
你所说的“改变观点”到底是什么意思?你指的是
Intent
/startActivity()
块吗?是的,这就是我指的。好吧,这是在启动一个全新的选项卡实例,它将从一开始就加载并初始化,就像启动它时一样。(我假设这是您在中使用的ShowcaseView
活动)您可能不想这样做。相反,听起来您只是想更改当前实例中的选项卡,但是您碰巧正在处理这些选项卡。