点击片段中的空白空间执行活动事件

时间:2016-11-10 06:48:22

标签: android android-fragments android-activity

我有一个Activity,其中包含4张图片和onClick我打开Fragment的任何图片。另外,我有一个Navigation Drawer,其中个人资料选项会打开fragment。由于ProfileFragment中的字段很少,因此会有空的空间。如果用户点击空白区域,则会执行放置在Activity中的图片的点击事件,并打开特定的Fragment。我试图将profilefragment的背景颜色设置为white,但它不起作用。

ProfileFragment类:

 public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View view = inflater.inflate(R.layout.fragment_profile, container, false);
    ButterKnife.bind(this, view);
    view.setBackgroundColor(Color.WHITE);
    return view;
}

profile_fragment.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.six30labs.mis.fragments.ProfileFragment">  

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

               <EditText
                        android:id="@+id/empCompanyName"
                        style="@style/MyTextViewStyle"                            
                        android:hint="Company Name"
                        android:inputType="text" />


               <EditText
                        android:id="@+id/empPhoneNumber"
                        style="@style/MyTextViewStyle"
                        android:hint="Employee PhNo"
                        android:inputType="text" />

               <EditText
                        android:id="@+id/empEmail"
                        style="@style/MyTextViewStyle"
                        android:hint="Employee Email"
                        android:inputType="text" />

             <Button
                     android:id="@+id/editProfileBtn"
                     android:text="Edit"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                      />
   </LinearLayout>
 </FrameLayout>

点击Navigation Drawer中的个人资料选项后,我使用以下行打开片段:

   fragment = new ProfileFragment();
 getSupportFragmentManager().beginTransaction().replace(R.id.container_view,fragment).addToBackStack("Profile").commit();

如何解决此问题?请帮助我..

1 个答案:

答案 0 :(得分:2)

在片段的根布局中编写此代码

android:clickable="true"

在你的情况下是FrameLayout所以

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clickable="true"
    tools:context="com.six30labs.mis.fragments.ProfileFragment">