片段功能在被替换后仍然存在 - Android片段

时间:2014-09-14 13:16:31

标签: android android-fragments

我似乎遇到了我的片段被替换的问题。当我用另一个片段替换片段时,按钮/文本字段等仍处于活动状态,我仍然可以通过与屏幕交互来按下它们,尽管我看不到它们。

有没有办法阻止这种情况发生?可能隐藏原始片段?

    public void changeFragment(String sportName) {

    Bundle bundle = new Bundle();
    bundle.putString("SPORTNAME", sportName);

    Fragment fragment = new SearchDetailsFragmentActivity();
    fragment.setArguments(bundle);

    FragmentManager fm = getFragmentManager();
    FragmentTransaction transaction = fm.beginTransaction();

    transaction.setCustomAnimations(R.anim.cell_left_in,
     R.anim.cell_right_out);
    transaction.replace(R.id.contentFragment, fragment);
    transaction.addToBackStack(null);
    transaction.commit();
}

主要碎片的XML

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/contentFragment"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/white_noise_background" >

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:orientation="horizontal" >

        <ImageButton
            android:id="@+id/btnBasketball"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@color/transparent"
            android:src="@drawable/basketball" />

        <ImageButton
            android:id="@+id/btnSoccer"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@color/transparent"
            android:src="@drawable/soccer" />

        <ImageButton
            android:id="@+id/btnFootball"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@color/transparent"
            android:src="@drawable/football" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="1dp"
        android:layout_margin="10dp"
        android:background="@color/gray_200"
        android:orientation="vertical" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:orientation="horizontal" >

        <ImageButton
            android:id="@+id/btnTennis"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@color/transparent"
            android:src="@drawable/tennis" />

        <ImageButton
            android:id="@+id/btnVolleyball"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@color/transparent"
            android:src="@drawable/volleyball" />

        <ImageButton
            android:id="@+id/btnBaseball"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@color/transparent"
            android:src="@drawable/baseball" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="1dp"
        android:layout_margin="10dp"
        android:background="@color/gray_200"
        android:orientation="vertical" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:orientation="horizontal" >

        <ImageButton
            android:id="@+id/btnSwimming"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@color/transparent"
            android:src="@drawable/swimming" />

        <ImageButton
            android:id="@+id/btnHiking"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@color/transparent"
            android:src="@drawable/hiking" />

        <ImageButton
            android:id="@+id/btnYoga"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@color/transparent"
            android:src="@drawable/yoga" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="1dp"
        android:layout_margin="10dp"
        android:background="@color/gray_200"
        android:orientation="vertical" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:background="@color/transparent"
        android:orientation="horizontal" >

        <ImageButton
            android:id="@+id/btnWeightLift"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@color/transparent"
            android:src="@drawable/weightlift" />

        <ImageButton
            android:id="@+id/btnHockey"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@color/transparent"
            android:src="@drawable/hockey" />

        <ImageButton
            android:id="@+id/btnFrisbee"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@color/transparent"
            android:src="@drawable/frisbee" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="1dp"
        android:layout_margin="10dp"
        android:background="@color/gray_200"
        android:orientation="vertical" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:orientation="horizontal" >

        <ImageButton
            android:id="@+id/btnKayak"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@color/transparent"
            android:src="@drawable/kayak" />

        <ImageButton
            android:id="@+id/btnGolf"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@color/transparent"
            android:src="@drawable/golf" />

        <ImageButton
            android:id="@+id/btnSkateboarding"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@color/transparent"
            android:src="@drawable/skateboard" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="1dp"
        android:layout_margin="10dp"
        android:background="@color/gray_200"
        android:orientation="vertical" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:orientation="horizontal" >

        <ImageButton
            android:id="@+id/btnBike"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@color/transparent"
            android:src="@drawable/regular_biking" />

        <ImageButton
            android:id="@+id/btnHunting"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@color/transparent"
            android:src="@drawable/hunting" />

        <ImageButton
            android:id="@+id/btnSnowboarding"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@color/transparent"
            android:src="@drawable/snowboarding" />
    </LinearLayout>
</LinearLayout>

XML for FRAGMENT这是新的

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/white_noise_background"
tools:context="${relativePackage}.${activityClass}" >

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:background="@drawable/white_rounded_background"
    android:gravity="center"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/tvSportsName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:text="Sports Name"
        android:textColor="@color/gray_35"
        android:textSize="20sp" />

    <TextView
        android:id="@+id/tvZipcode"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:text="Near 07735"
        android:textColor="@color/gray_167"
        android:textSize="15sp" />
</LinearLayout>

<ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/linearLayout1"
    android:layout_centerHorizontal="true" >
</ListView>

1 个答案:

答案 0 :(得分:2)

用于顶部片段xml

在xml布局中提供android:clickable="true"

给出可点击的真实并不会触及到下面的视图

我曾经有同样的问题

一切顺利