当用户打开我的应用程序午餐时,这是否可行活动取决于某事或午餐另一项活动,而不是mainActivity,如果有的话发生了。
我的问题是我在browseData中有拖拽活动LogInActivity和BrowseDataActivity我有Viewpager使用片段,这意味着我不能使用片段代替活动,因为你不能在片段内部有片段。
如果用户已登录,那么启动BrowseDataActivity其他明智的LogInActivity是可能的吗?
我想我看到了一些代码 使用java脚本甚至我可以加载我的视图取决于....但我不想这样做或使用java脚本我可以解决但使用愚蠢的方式。
由于
答案 0 :(得分:0)
将LoginActivity设置为主要活动,如果用户已登录,则在LoginActivity.onCreate中启动其他活动
OR
在onCreate中使用类似的东西创建另一个活动(让我们称之为SplashScreenActivity):
setContentView(R.layout.myview);
boolean loggedIn = ...;
Intent i;
if(loggedIn)
i = new Intent(this, yourActivity.class);
else
i = new Intent(this, LogInActivity.class);
startActivity(i);
抱歉,我无法添加代码代码,因为我在手机上
答案 1 :(得分:0)
只需修改上面的代码,您似乎只想要两个活动。让我们得到要求
简单
在“浏览活动”中。
public boolean isLoggedin = prefs.getBoolean("isLoggedIn",false);
...
onCreate(){
if (isLoggedIn)
setContentView(R.layout.browseActivity)
else{
intent i = new intent(this,LoginActivity);
startActivity(i);
}
现在登录LoginActivity。
onCreate(){
//Code for loggin in possible conncecting to a server etc... whatever your implementation is
//If successful
SharedPreferences sp = getSharedPreferences("user_Data",MODE_PRIVATE);
SharedPreferences.Editor ed = sp.edit();
ed.putBoolean("isLoggedIn", true);
ed.commit();
//As the user is now logged in as they got this far...take them to the browse activity!
Intent i = new intent(this,BrowseActivity.class);
startActivity(i);
//else they are not logged in so show a "try again dialog"
}
这补充了所有要求。
希望有所帮助
答案 2 :(得分:0)
我知道没有人回答这个问题,但我想回答我自己的问题,以帮助任何面临同样问题的人。
我们可以在LogInActivity中编写代码检查用户是否登录然后显示BrowseDataActivity从堆栈删除LogInActivity否则加载LogInActivity视图但问题是当用户登录时活动窗口动画 LogInActivity窗口动画然后BrowseDataActivity窗口动画如果您可以移除此动画,那么每件事情都很酷但我会通过使用碎片来解决这个问题。
我们将有一个名为 MainActivity 的活动
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/viewPager"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/fragment_container"
android:visibility="gone"></FrameLayout>
</FrameLayout>
,我们将有1个片段 LogInFragment 它看起来像什么 和BrowseDataActivity的滑动选项卡,你可以看到我们有viewPager
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(isUserLoggedIn()){
setUpSwaipTabs();// setUp Tab and Viewpager
}else{
showLogInFragment(); // load your Fragemtn
//in FrameLayout id=fragment_container and show
// and hide viewpager.
}
}