如何从活动开始片段?

时间:2018-08-04 17:54:59

标签: android android-fragments

我想从MainActivity转到HomeFragment。 我试图使用Intent,但它不起作用,我只使用android Studio一个月,所以如果我不懂技术术语,请原谅我/

我该怎么做?

主要活动代码

public class MainActivity extends AppCompatActivity {




    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);



        TextView forgot_password  = findViewById(R.id.forgot_password);
        TextView Signing_Up = findViewById(R.id.Signing_Up);
        TextView Sign_In =findViewById(R.id.Sign_In);


        Signing_Up.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){

                Intent intent = new Intent(v.getContext(),Signup.class);
                startActivityForResult(intent, 0);
            }
        });




        forgot_password.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){

                Intent intent = new Intent(v.getContext(),Forgot_password.class);
                startActivityForResult(intent, 0);
            }
        });

        Sign_In.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){

                Intent intent = new Intent(v.getContext(),HomeFragment.class);
                startActivityForResult(intent, 0);
            }
        });









    }

    public void signUpPage(View view) {
    }
}

2 个答案:

答案 0 :(得分:0)

应按以下方式命名

Fragment fragment = new HomeFragment();
                getSupportFragmentManager().beginTransaction()
                        .replace(R.id.fragment_frame, fragment, 

fragment.getClass().getSimpleName()).addToBackStack(null).commit();

fragment_frame是要在其中加载片段的布局的ID

答案 1 :(得分:-1)

您似乎有点搞砸了。活动是您显示的任何屏幕。片段就像一个独立的活动中的微型活动。因此,您不能从一个活动到一个片段,而是从一个活动到另一个活动。 但是,如果您要询问如何从一项活动转到另一项活动,请尝试以下操作:

Intent intent = new Intent(OldActivity.this, NewActivity.class);
startActivity(intent);