Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 事务不工作_Android_Android Fragments - Fatal编程技术网

Android 事务不工作

Android 事务不工作,android,android-fragments,Android,Android Fragments,在我的代码中,我想通过点击ImageViewonClick切换fragments。我为它写了代码,但是如果我点击图片,我的应用程序就会关闭 public class FragHome extends Fragment { ImageView frag_load; ImageView frag_trucks; ImageView frag_drivers; ImageView frag_tracking; ImageView frag_profile; ImageView frag_history

在我的代码中,我想通过点击
ImageView
onClick切换
fragments
。我为它写了代码,但是如果我点击图片,我的应用程序就会关闭

public class FragHome extends Fragment {
ImageView frag_load;
ImageView frag_trucks;
ImageView frag_drivers;
ImageView frag_tracking;
ImageView frag_profile;
ImageView frag_history;

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

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

   frag_load = (ImageView) view.findViewById(R.id.btnload);
    frag_trucks = (ImageView) view.findViewById(R.id.btntrucks);
    frag_drivers = (ImageView) view.findViewById(R.id.btndrivers);
    frag_tracking = (ImageView) view.findViewById(R.id.btntracking);
    frag_profile = (ImageView) view.findViewById(R.id.btnprofile);
    frag_history = (ImageView) view.findViewById(R.id.btnhistory);

    frag_load.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            FragCategory FC=new FragCategory();
            Bundle b=new Bundle();
            b.putString("type","load");
            FC.setArguments(b);
            FragmentTransaction ft=getFragmentManager().beginTransaction();
            ft.replace(R.id.fragload,FC,"load");
            ft.addToBackStack("load");
            ft.commit();
        }
    });
    frag_trucks.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            FragCategory FC=new FragCategory();
            Bundle b=new Bundle();
            b.putString("type","trucks");
            FC.setArguments(b);
            FragmentTransaction ft=getFragmentManager().beginTransaction();
            ft.replace(R.id.fragtrucks,FC,"trucks");
            ft.addToBackStack("trucks");
            ft.commit();
        }
    });
    frag_drivers.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            FragCategory FC=new FragCategory();
            Bundle b=new Bundle();
            b.putString("type","drivers");
            FC.setArguments(b);
            FragmentTransaction ft=getFragmentManager().beginTransaction();
            ft.replace(R.id.fragdrivers,FC,"drivers");
            ft.addToBackStack("drivers");
            ft.commit();
        }
    });
    frag_tracking.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            FragCategory FC=new FragCategory();
            Bundle b=new Bundle();
            b.putString("type","tracking");
            FC.setArguments(b);
            FragmentTransaction ft=getFragmentManager().beginTransaction();
            ft.replace(R.id.fragtracking,FC,"tracking");
            ft.addToBackStack("tracking");
            ft.commit();
        }
    });
    frag_profile.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            FragCategory FC=new FragCategory();
            Bundle b=new Bundle();
            b.putString("type","profile");
            FC.setArguments(b);
            FragmentTransaction ft=getFragmentManager().beginTransaction();
            ft.replace(R.id.fragprofile,FC,"profile");
            ft.addToBackStack("profile");
            ft.commit();
        }
    });
    frag_history.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            FragCategory FC=new FragCategory();
            Bundle b=new Bundle();
            b.putString("type","history");
            FC.setArguments(b);
            FragmentTransaction ft=getFragmentManager().beginTransaction();
            ft.replace(R.id.fraghistory,FC,"history");
            ft.addToBackStack("history");
            ft.commit();
        }
    });

    return view;
}}
我想知道问题是否出在
片段中给出的id上,但所有id都是正确的。
它不会在监视器中显示任何错误,但应用程序会在几秒钟后关闭

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:baselineAligned="false"
        android:orientation="horizontal"
        android:padding="10dp">

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="50"
            android:baselineAligned="false"
            android:orientation="vertical">

            <ImageView
                android:id="@+id/btnload"
                android:layout_width="match_parent"
                android:layout_height="150dp"
                android:src="@drawable/load"
                android:clickable="true"
                />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="Find Load"
                android:textSize="20sp"
                />
        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="50"
            android:orientation="vertical">

            <ImageView
                android:id="@+id/btntrucks"
                android:layout_width="match_parent"
                android:layout_height="150dp"
                android:src="@drawable/trucks"
                android:clickable="true"/>

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="My Trucks"
                android:textSize="20sp"
                />
        </LinearLayout>

    </LinearLayout>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="33"
        android:orientation="horizontal"
        android:padding="10dp">

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="50"
            android:orientation="vertical">

            <ImageView
                android:id="@+id/btndrivers"
                android:layout_width="match_parent"
                android:layout_height="150dp"
                android:src="@drawable/driver"
                android:clickable="true"/>

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="Drivers"
                android:textSize="20sp"
                />
        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="50"
            android:orientation="vertical">

            <ImageView
                android:id="@+id/btntracking"
                android:layout_width="match_parent"
                android:layout_height="150dp"
                android:src="@drawable/tracking"
                android:clickable="true"/>

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="Tracking"
                android:textSize="20sp"
                />
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="33"
        android:orientation="horizontal"
        android:padding="10dp">

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="50"
            android:orientation="vertical">

            <ImageView
                android:id="@+id/btnprofile"
                android:layout_width="match_parent"
                android:layout_height="150dp"
                android:src="@drawable/profile"
                android:clickable="true"/>

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="Profile"
                android:textSize="20sp"
                />
        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="50"
            android:orientation="vertical">

            <ImageView
                android:id="@+id/btnhistory"
                android:layout_width="match_parent"
                android:layout_height="150dp"
                android:src="@drawable/history"
                android:clickable="true"/>

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="History"
                android:textSize="20sp"
                />
        </LinearLayout>

    </LinearLayout>

</LinearLayout>


logcat中没有显示错误。

替换功能的签名符合is

其中第一个参数是containerViewId,您应该在其中传递片段容器布局Id,您已经传递了不是容器的ImageView Id

ft.replace(R.id.fragtrucks,FC,"trucks");

请添加错误日志,您的xmlUse
getChildFragmentManager()
is容器就是
Fragment
。为什么对每个片段使用不同的容器布局?如果您无法从Logcat获取错误,那么使用Slpunk mint库将错误发送给您。。。否则,只需检查logcat中的错误,它很可能是一个空点异常?
ft.replace(R.id.fragtrucks,FC,"trucks");