将 Intent 与按钮事件一起使用



我是安卓开发的新手。 我有几个帖子和教程,但我不太了解使用/设置意图。

我创建了一个应用程序来更好地理解,但我无法让代码工作。我的思考过程如下

  1. 我设置了 2 个带有片段的活动。
  2. 在我的主片段上,我添加了一个按钮,单击该按钮后将转到另一个活动页面

问题:当我使用意图时,我应该调用片段还是活动?

我的代码:

    import android.content.Intent;
    import android.os.Bundle;
    import android.support.v4.app.Fragment;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.Button;

    public class PlanMeMainFragment extends Fragment {
    private Button mNewButton, mExistingButton;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.planme_main_fragment, parent, false);
    return  v;

    mNewButton = (Button)v.findViewById(R.id.new_event_button);
    mNewButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent myIntent = new Intent(PlanMeMainFragment.this, NewEventSetupFragment.class);
            startActivity(myIntent);
        }
      });
   }
   }

我的清单设置为

      <activity
        android:name=".PlanMeMainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".NewEventSetupActivity">
    </activity>

您无法从片段调用活动。作为调用类,您需要设置托管片段的活动。你可以通过getActivity()得到这一点。如果你想从第一个片段(位于你的第一个活动上)调用第二个活动,你可以这样做:

Intent myIntent = new Intent(getActivity(), SecondActivity.class);
getActivity().startActivity(myIntent);

在您刚刚调用的活动中,您可以像对第一个片段一样实例化片段。但是您确定需要第二个活动吗?您可以在您的活动中托管两个片段,并用第二个片段替换第一个片段(如果您不知道,仅供参考)。

Intent myIntent = new Intent(PlanMeMainFragment.this, NewEventSetupActivity.class);

要在活动之间切换,您需要参加活动。

最新更新