android-fragments Convert将AppCompatActivity扩展为扩展片段

rpppsulh  于 2022-11-14  发布在  Android
关注(0)|答案(1)|浏览(106)

你好,我想知道如何将我的Activity转换为片段Activity。
我目前正在为我的Android应用程序使用底部导航,这是后来在我的项目中实现的。
当我将Activity放入一个switch case函数时,它说它需要是一个Fragment,而不是AppCompatActivity。
这是我的活动代码

public class HomeActivity extends AppCompatActivity {

TextView tvName, tvEmail;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home);
    ParseUser currentUser = ParseUser.getCurrentUser();

    tvName = findViewById(R.id.tvName);
    tvEmail = findViewById(R.id.tvEmail);

    if(currentUser!=null){
        tvName.setText(currentUser.getString("name"));
        tvEmail.setText(currentUser.getEmail());
    }
}

public void logout(View view) {
    ProgressDialog progress = new ProgressDialog(this);
    progress.setMessage("Loading ...");
    progress.show();
    ParseUser.logOut();
    Intent intent = new Intent(HomeActivity.this, MainActivity.class);
    startActivity(intent);
    finish();
    progress.dismiss();
}

}
下面是我的一个switch case代码示例

switch(item.getItemId()) {
                    case R.id.nav_home:
                        selectedfrag = new HomeActivity();
                        break;

错误代码显示:必需的类型片段

2sbarzqh

2sbarzqh1#

对于您的情况,最简单的方法是创建一个新片段并将代码移到那里
或者,如果您想手动执行此操作,请扩展片段
在创建视图时重写

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
        return inflater.inflate(R.layout.activity_home, parent, false);
    }

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    // add your activity's code here
    // ParseUser currentUser = ParseUser.getCurrentUser();.........
}

相关问题