2015-12-18 212 views
1

我有兩個textviews和一個浮動的操作按鈕和一個ListView。 目前我能夠使用swiperefreshlayout的列表視圖,但我想它的時候我刷卡從活動的自上而下,列表視圖應後臺更新使用全視圖即。 任何人都可以幫助我。 這是我當前的xml文件。Android的刷卡刷新佈局問題

<RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <TextView android:id="@+id/view_tickets_activity_text_view_note" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="10dp" /> 

     <TextView android:id="@+id/view_tickets_activity_text_view_customer_name" 
      android:layout_width="220dp" 
      android:layout_height="wrap_content" 
      android:layout_alignLeft="@+id/view_tickets_activity_text_view_note" 
      android:layout_below="@+id/view_tickets_activity_text_view_note" 
      android:layout_marginTop="10dp" /> 

     <android.support.design.widget.FloatingActionButton android:id="@+id/view_tickets_activity_floating_btn_add_ticket" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignTop="@+id/view_tickets_activity_text_view_customer_name" />        


     <android.support.v4.widget.SwipeRefreshLayout 
      android:id="@+id/swipe" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_below="@+id/view_tickets_activity_floating_btn_add_ticket" 
      android:layout_marginTop="15dp"> 

      <ListView 
       android:id="@+id/view_tickets_activity_list_view_tickets" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" /> 

     </android.support.v4.widget.SwipeRefreshLayout> 
    </RelativeLayout> 

回答

1

在整個佈局中使用SwipeRefreshLayout

<android.support.v4.widget.SwipeRefreshLayout 
android:id="@+id/swipe" 
android:layout_height="match_parent" 
android:layout_width="match_parent"> 

<RelativeLayout 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent"> 

    <TextView 
     android:id="@+id/view_tickets_activity_text_view_note" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="10dp" 
     android:layout_width="wrap_content" /> 

    <TextView 
     android:id="@+id/view_tickets_activity_text_view_customer_name" 
     android:layout_alignLeft="@+id/view_tickets_activity_text_view_note" 
     android:layout_below="@+id/view_tickets_activity_text_view_note" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="10dp" 
     android:layout_width="220dp" /> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/view_tickets_activity_floating_btn_add_ticket" 
     android:layout_alignParentRight="true" 
     android:layout_alignTop="@+id/view_tickets_activity_text_view_customer_name" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" /> 

    <ListView 
     android:id="@+id/view_tickets_activity_list_view_tickets" 
     android:layout_below="@+id/view_tickets_activity_floating_btn_add_ticket" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="15dp" 
     android:layout_width="match_parent" /> 
</RelativeLayout> 
</android.support.v4.widget.SwipeRefreshLayout> 

並更新ListView在:

@Override 
public void onRefresh() { 
    // Update Adapter for ListView here 
    adapter.notifyDataSetChanged(); 
} 
+0

我想你的解決方案,但是當我們滑下出現圓形的東西是不可見的,所以你有什麼想法爲什麼是這樣? –

0
<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:fab="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/swipe_container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/view_tickets_activity_text_view_note" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="10dp" /> 

    <TextView 
     android:id="@+id/view_tickets_activity_text_view_customer_name" 
     android:layout_width="220dp" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/view_tickets_activity_text_view_note" 
     android:layout_below="@+id/view_tickets_activity_text_view_note" 
     android:layout_marginTop="10dp" /> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/view_tickets_activity_floating_btn_add_ticket" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_alignTop="@+id/view_tickets_activity_text_view_customer_name" /> 

    <ListView 
     android:id="@+id/view_tickets_activity_list_view_tickets" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/view_tickets_activity_floating_btn_add_ticket" 
     android:layout_marginTop="15dp" /> 

</android.support.v4.widget.SwipeRefreshLayout> 
+0

我想你的解決方案,但是當我們滑下出現圓形的東西是不可見的,所以你有任何想法,爲什麼會這樣呢? –

+0

必須聲明佈局「mSwipeLayout =(SwipeRefreshLayout)rootview.findViewById(R.id.swipe_container); mSwipeLayout.setOnRefreshListener(本); mSwipeLayout.setColorSchemeResources(android.R.color.holo_blue_bright,android.R.color.holo_green_light, \t \t \t \t android.R.color.holo_orange_light,android.R.color.holo_red_light); \t' –

+0

沒有,依然沒能達到要求的行爲。 –

0

你不必像這樣的ListView創建佈局,你有爲前。添加TextViews到標題的ListView,造成RelativeLayout的不可滾動,這就是爲什麼你不能有swipeToRefresh它