我有两个标签,它们是片段,一个用于登录(登录片段)。单击登录后,将弹出一个新活动(登录活动),然后用户需要登录。如果他已成功登录,则使用finish()
关闭登录活动。然后我想使用onActivityResult()
将选项卡的布局从登录片段更改为欢迎片段。
我创建了两个布局,登录片段布局和欢迎片段布局。但是,由于无法使用setContentView()
,我不知道如何更改布局。
public class UserLoginTab extends Fragment {
String username = "";
Button loginButton;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.user_login_tab, container, false);
loginButton = (Button) rootView.findViewById(R.id.btn_login);
loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), LoginActivity.class);
startActivityForResult(intent, 1);
}
});
return rootView;
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
if(resultCode == RESULT_OK){
username=data.getStringExtra("username");
//change layout here and add the username to a textView
//The layout is (R.layout.welcome_tab)
}
}
}
}
答案 0 :(得分:0)
假设您有两个XML布局文件:login.xml
和welcome.xml
。对于每个XML布局文件,您应该创建一个扩展Fragment
:LoginFragment
和WelcomeFragment
的类。然后在FragmentPagerAdapter
子类中,编写一些逻辑来决定显示这两个片段中的哪一个。您可以拥有某种loggedIn
标记,可能存储在SharedPreferences
中,表示用户是否已登录。