所以我有Activity
在CardView
中显示用户详细信息,CardView
下方是RecyclerView
,其中会收集并添加表单详细信息。 FloatingActionButton
中有Activity
(FAB)添加图标。当用户使用FAB
点击Intent
时,我会转到下一个Activity
,其中有一个表单可以获取用户旅行详细信息,FAB
点击后会发送数据收回到生成表单活动的上一个Activity
。
当用户第一次访问RecyclerView
并填充列表时,我希望Activity
为空,因为用户会继续以其他形式添加旅行详细信息。问题是我不知道如何在第一次用户访问时删除RecyclerView
,然后在用户填写其他表单时显示。第二个问题是,当我填写表单时,我发送回上一个Activity
的详细信息不会添加到RecyclerView
。我想因为每当我将意图重新回到之前的Activity
时,就会生成Activity
的新实例。
第一个layout
Activity
<RelativeLayout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/reslayout"
>
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/officer_cardView"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/expand_officerInfo"
android:layout_below="@id/nameHeader_layout">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/summary_contact_head"
android:layout_marginStart="12dp"
android:textSize="16sp"
android:textStyle="bold"
android:text="Contact No"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/summary_contact"
android:layout_marginStart="16dp"
android:textSize="16sp"
android:layout_toEndOf="@id/summary_contact_head"
android:text="9173548223"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/summary_dept_head"
android:layout_marginTop="8dp"
android:layout_marginStart="12dp"
android:layout_below="@id/summary_contact_head"
android:textSize="16sp"
android:textStyle="bold"
android:text="Dept"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/summary_dept"
android:layout_marginTop="8dp"
android:layout_marginStart="16dp"
android:layout_below="@id/summary_contact"
android:textSize="16sp"
android:layout_toEndOf="@id/summary_contact_head"
android:text="Inform Syst Dept. Technical"/>
</RelativeLayout>
</android.support.v7.widget.CardView>
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/ti_created_recyclerview"
android:layout_below="@id/officer_cardView"
android:layout_marginTop="12dp"
/>
<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_outline_add_24px"
android:id="@+id/add_fab"
android:layout_alignParentEnd="true"
android:layout_marginEnd="16dp"
android:layout_alignParentBottom="true"
android:layout_marginBottom="22dp"
/>
</RelativeLayout>
以下是另一个layout
的{{1}},其中包含用户填写
activity
流程是这两种活动之间的一种循环。 <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"
tools:context=".addTI_Form">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/form_header_cardView"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/head_from"
android:layout_marginTop="10dp"
android:layout_marginStart="12dp"
android:textSize="20sp"
android:textColor="#000000"
android:text="From"/>
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="60dp"
android:id="@+id/from_spinner"
android:popupElevation="3dp"
android:elevation="3dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/head_to"
android:layout_marginTop="10dp"
android:layout_marginStart="12dp"
android:textSize="20sp"
android:textColor="#000000"
android:text="To"/>
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="60dp"
android:id="@+id/to_spinner"
android:popupElevation="3dp"
android:elevation="3dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/head_travelmode"
android:layout_marginTop="10dp"
android:layout_marginStart="12dp"
android:textSize="20sp"
android:textColor="#000000"
android:text="Travel Mode"/>
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="60dp"
android:id="@+id/travelmode_spinner"
android:popupElevation="3dp"
android:elevation="3dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/head_deptdate"
android:layout_marginTop="10dp"
android:layout_marginStart="12dp"
android:textSize="20sp"
android:textColor="#000000"
android:text="Departure Date"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:id="@+id/datedept"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="22dp"
android:text="set"
android:id="@+id/setbtn"/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/head_preftime"
android:layout_marginTop="10dp"
android:layout_marginStart="12dp"
android:textSize="20sp"
android:textColor="#000000"
android:text="Pref. Time"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="10dp">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:id="@+id/timedept"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="22dp"
android:text="set"
android:id="@+id/setbtn1"/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/head_purpose"
android:layout_marginTop="10dp"
android:layout_marginStart="12dp"
android:textSize="20sp"
android:textColor="#000000"
android:text="Purpose"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginEnd="60dp"
android:id="@+id/purpose"/>
</LinearLayout>
<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_marginEnd="20dp"
android:layout_marginBottom="20dp"
android:src="@drawable/ic_baseline_done_24px"
android:id="@+id/submit_fab"
/>
</RelativeLayout>
点击后的Activity
{}会在表格中开始第二个FAB
,一旦用户完成表单并点击activity
,我们就会返回上一个submit_fab
需要将表单详细信息添加到activity
,以便还显示以前添加的详细信息。
注意:
我正在考虑的解决方案是我应创建3 RecyclerView
,其中一个fragments
和Cardview
,第二个FAB
和Cardview RecyclerView
和第三个一个具有表单和FAB
,并使用接口将数据从第三个FAB
传递到第二个fragment
。如果有人可以指导我解决这个问题,那就太好了。
我已经尝试了startActivityForResult()
解决方案,它没有用。