如何从另一个Activity中的Fragment中的Button启动一个新的Activity?

时间:2016-08-20 08:44:17

标签: android android-intent start-activity

如何从另一个Activity中的Fragment中的Button启动一个新Activity?

我的HomeFragment中有一个名为Play的按钮 现在,我想在单击“播放按钮”

时启动另一个名为GameActivity的Activity

enter image description here

请帮助

5 个答案:

答案 0 :(得分:0)

startActivity(new Intent(getActivity,GameActivity.class));

答案 1 :(得分:0)

要确保按钮onClick事件被发送到父活动,请确保在about.xml中,对于id为btnContactDev的按钮,您有以下参数:

<Button android:id="@+id/btnContactDev"
  android:onClick="buttonClick"
  ...
/>

并在您的父活动(关于片段的父级)中,您有:

public void buttonClick(View v) {
  switch(v.getId()) {
    case R.id.btnContactDev:
      Intent myIntent = new Intent();
      myIntent.setClassName(your_package_name_string, your_activity_name_string);
      // for ex: your package name can be "com.example"
      // your activity name will be "com.example.Contact_Developer"
      startActivity(myIntent);
    break;
  }
}

答案 2 :(得分:0)

在你的Fragment课程中你喜欢这样....

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

                             View v=inflater.inflate(R.layout.fragment_feed, container, false);

                             Button button=(Button)findViewById(R.id.YourButton)
                             button.setOnClickListener(new OnClickListener() {

                            @Override
                                public void onClick(View v) {
                                    // TODO Auto-generated method stub
                                    startActivity(new Intent(getActivity,GameActivity.class));
            }
        });
                             return v;
                             }

答案 3 :(得分:0)

在片段中尝试此操作。

// Initialize your button
Button play = (Button) rootView.findViewById(R.id.play);
// Set its click listner
play.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
             // Perform action on click
             // Open the Game activity
             Intent intent = new Intent((getContext(), GameActivity.class);
             StartActivity(intent);
         }
     });

如果这不能解决您的问题。让我知道吗?

此外,如果您发布堆栈跟踪会更有帮助。

答案 4 :(得分:0)

试试这个,让我知道结果。

Button btn_serach= (Button)rootview.findViewById(R.id.btn_search);
    btn_serach.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent i = new Intent(getActivity(),SecondActivity.class);
            startActivity(i);
        }
    });
  

并在AndroidManifest文件中添加活动。

<activity android:name=".SecondActivity" />