我如何从活动中打开android.support.v4.app.Fragment

时间:2015-03-26 12:45:29

标签: java android android-intent android-fragments android-activity

之前我问过这个问题,但你们大多数人的答案都是针对另一个片段。 基本上我如何从android.support.v4.app.Fragment打开Activity

4 个答案:

答案 0 :(得分:6)

以下是......

getSupportFragmentManager().beginTransaction()
                .add(R.id.container, new SupportFragment())
                .commit();

答案 1 :(得分:1)

您无法从android.support.v4.app.Fragment打开android.app.Activity。 您应该使用android.support.v4.app.FragmentActivity代替。

答案 2 :(得分:0)

FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
// Replace the container with the new fragment
ft.replace(R.id.your_placeholder, new FooFragment());
// or ft.add(R.id.your_placeholder, new FooFragment());
// Execute the changes specified
ft.commit();

答案 3 :(得分:0)

这是您的活动布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <FrameLayout
        android:id="@+id/your_placeholder"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </FrameLayout>

</LinearLayout>

然后通过扩展Fragment类创建一个片段。

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;

import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.GridView;
import android.widget.ImageView;

import com.example.goodfeetapp.MainActivity;
import com.example.goodfeetapp.R;
import com.example.goodfeetapp.adapter.BringAdapter;

public class Bring extends Fragment {
    public static String TAG = "Bring";

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

        View view = inflater.inflate(R.layout.gridview, container, false);


        return view;
    }

}

现在使用以下内容替换活动类中的此片段:

                        FragmentTransaction ft = getFragmentManager()
                                .beginTransaction();
                        Bring bring = new Bring();

                        ft.replace(R.id.your_placeholder, bring,
                                Bring.TAG);
                        ft.addToBackStack(null);

                        ft.commit();