0
我最近做了一个简单的应用程序,允许用户注册信息,登录和注销。我想通过添加用户在登录时看到的选项卡式活动,并让第三个选项卡包含一个将会注销它们的TextView来增加此应用程序的复杂性。无法将注销按钮添加到Tab片段类?
这里是我以前没有加入标签前,在我的主要活动注销:
public class MainActivity extends AppCompatActivity{
private Button bLogout;
private Session session;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
session = new Session(this);
if(!session.loggedin()){
logout();
}
bLogout = (Button) findViewById(R.id.bLogout);
bLogout.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
logout();
}
});
}
private void logout(){
session.setLoggedin(false);
finish();
startActivity(new Intent(MainActivity.this, LoginActivity.class));
}
}
现在,我想这同样的概念传递给我的TAB3片段类,但我不断收到错误。这里是没有错误的TAB3类:
public class Tab3User extends Fragment{
private TextView tvLogout;
private Session session;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.tab3User, container, false);
tvLogout = (TextView) rootView.findViewById(R.id.tvLogout);
return rootView;
}
}
,当我尝试创建以此为背景的新会话时,我尝试使用“的错误发生,以及在我的注销功能的“startActivity”的方法Tab3User.this'。 onClickListener似乎在工作,但我对android开发非常陌生,所以我确信我只是犯了一个错误。这里是我试图添加的一切:
public class Tab3User extends Fragment{
private TextView tvLogout;
private Session session;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.tab3User, container, false);
tvLogout = (TextView) rootView.findViewById(R.id.tvLogout);
return rootView;
//error here under the "this"
session = new Session(this);
if(!session.loggedin()){
logout();
}
tvLogout.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
logout();
}
});
}
private void logout(){
session.setLoggedin(false);
finish();
startActivity(new Intent(Tab3User.this, LoginActivity.class));
}
}
感谢您的任何和所有帮助。我一直在网上寻找,但很多这样的问题的答案是非常模糊的,所以我决定发布。
您必须记住,片段存在可以简化复杂视图的管理,但它们本身不是活动。 – francescortiz