区分同一片段的两个实例

时间:2016-08-01 16:23:25

标签: android android-fragments

我有包含片段的活动的布局文件:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/RelLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="sguancicosimo.com.planmytrip.NewTrip1"
android:orientation="vertical">




<EditText
    android:id="@+id/Where"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:hint="@string/Where"
    android:layout_alignParentTop="true"
    android:layout_alignParentStart="true"
    android:layout_marginTop="85dp"
    android:drawableLeft="@drawable/ic_location_city_black_24dp"/>

    <ImageView
        android:id="@+id/imageButtonDone"
        android:clickable="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/Where"
        android:src="@drawable/ic_done_black_24dp"
        android:layout_marginTop="96dp"
        android:layout_marginLeft="25dp"
        />

    <TextView
        android:id="@+id/departureDate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="@string/departureDate"
        android:layout_marginTop="35dp"
        android:layout_marginLeft="15dp"
        android:layout_below="@+id/Where"
        android:layout_alignParentStart="true"
        android:textSize="20sp"
        android:textStyle="bold"
        android:clickable="true"
        android:onClick="showCalFrag"/>

    <TextView
        android:id="@+id/returnDate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="@string/returnDate"
        android:layout_marginTop="35dp"
        android:layout_marginLeft="15dp"
        android:layout_below="@+id/departureDate"
        android:layout_alignParentStart="true"
        android:textSize="20sp"
        android:textStyle="bold"
        android:clickable="true"
        android:onClick="showCalFrag"/> 

</RelativeLayout>

片段是在运行时单击两个TextViews(showCalFrag方法)创建的。片段包含在CalendarView中,我想保留用户选择的日期,将它们发送到Activity,但我不知道如何区分两个CalendarView,因为它们是同一片段的两个实例,而且我也有问题让用户更改已经选择的日期。

1 个答案:

答案 0 :(得分:3)

您可以创建enum之类的:

public enum FragmentType{

FROM_DATE,TO_DATE

}

并在片段中创建一个具有此枚举类型的新变量:

private FragmentType fragmentType;

public void setFragmentType(FragmentType type){ this.fragmentType = type;}

并在调用片段时:

YourFragment fragment = new YourFragment();
fragment.setFragmentType(FragmentType.FROM_DATE); // for the first textView 
fragment.setFragmentType(FragmentType.TO_DATE); // for the second textView

然后你可以区分这两个实例