我有包含片段的活动的布局文件:
<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,因为它们是同一片段的两个实例,而且我也有问题让用户更改已经选择的日期。
答案 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
然后你可以区分这两个实例