我是安卓开发的新手。 我有几个帖子和教程,但我不太了解使用/设置意图。
我创建了一个应用程序来更好地理解,但我无法让代码工作。我的思考过程如下
- 我设置了 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);
要在活动之间切换,您需要参加活动。