【问题标题】:Call Main activity from a Fragment of viewPager从 viewPager 的 Fragment 调用 Main 活动
【发布时间】:2021-12-29 12:34:25
【问题描述】:

一旦从 Fragment 的最后一页返回到 Main Activity 时,如何限制我的主要活动不返回到 Fragment 的最后一页,例如我有一个 Home 活动,并且该主页活动在单击按钮时会导致另外 3 个活动并且其中一项活动有片段。片段的最后一页导致主页活动,但是当我返回主页活动时,它再次将我引导到我来过的片段的最后一页,然后我再次按下后退按钮,然后我的应用程序关闭

我的主要活动课程

public class Home extends AppCompatActivity {

    protected void onCreate (Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.home);
    }


    public void Consultation_Form(View view) {
        startActivity(new Intent(getApplicationContext(), ConsultationForm.class));
        finish();
    }

    public void Registration_Form(View view) {
        startActivity(new Intent(getApplicationContext(), RegistrationForm.class));
        finish();

    }

    public void Assessment_Form(View view) {
        startActivity(new Intent(getApplicationContext(), AssessmentForn.class));
        finish();

    }

    public void Booking_Form(View view) {
        startActivity(new Intent(getApplicationContext(), BookingForm.class));
        finish();
    }
}

我的 VIEWPAGER 片段类

public class PC_v16 extends Fragment {

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.pc_v16, container, false);
        TextView tv = (TextView) view.findViewById(R.id.tvReferral);
        Button btBackHome = view.findViewById(R.id.btBackHome);

        btBackHome.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(getActivity(), Home.class);
                getActivity().startActivity(intent);
            }
        });

        return view;
    }
}

【问题讨论】:

    标签: java android android-studio android-fragments native


    【解决方案1】:

    您只需 finish 您的 Viewpager Activity 即可移至 Home Activity。

    在你的片段中 改变这个

     btBackHome.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(getActivity(), Home.class);
            getActivity().startActivity(intent);
        }
    });
    

    btBackHome.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(getActivity(), Home.class);
            getActivity().startActivity(intent);
            getActivity().finish();
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多