2015-10-13 43 views
0

我正在開發與媒體相關的應用程序,因爲我需要逐個調用多個Web服務,並使用Cardview和Recycleview列出此元素。任何人都可以爲我推薦我。如何使用JSON逐一解析多個Web服務和列表視圖

在此先感謝。 Arasu

+0

是什麼問題? –

+0

我不知道如何在單個活動中使用多個Web服務,否則我需要使用String [] url = {...,.....,.....,....};就像它一樣。 –

回答

0

您可以添加,因爲它們是從這些網絡服務收到您的適配器,並調用notifyDataSetChanged()適配器上,使新項目在Recyclerview顯示新項目。喜歡的東西 -

if(mAdapter == null) { 
    // First item received, adapter not initialized yet. 
    mAdapter = new CustomAdapter(items); 
    mRecyclerView.setAdapter(mAdapter); 
} else { 
    // Adapter already exists. Add received items to the adapter. 
    mAdapter.add(items); 
    mAdapter.notifyDataSetChanged(); 
} 
1

如果我沒有得到它,你必須調用幾個WS和獲取數據。那麼你可以使用例如Volley或OkHttp來處理異步請求。

OkHttpClient client = new OkHttpClient(); 
    Request request = new Request.Builder().url(url).build(); 
    client.newCall(request).enqueue(new Callback() { 

     @Override 
     public void onFailure(Request request, IOException e) { 
      // notify error 
     } 

     @Override 
     public void onResponse(Response response) throws IOException { 
      // parse the data 
     } 
     } 
    }); 

當您準備好數據後,您將更新recyclerview後面的模型並顯示新信息。 如果你有RecyclerView你可以創建這樣的佈局問題:

<RelativeLayout > 
     <android.support.v7.widget.RecyclerView 
      android:id="@+id/cardList" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" /> 
    </RelativeLayout> 

並且每行持有卡(行佈局):

<android.support.v7.widget.CardView 
     xmlns:card_view="http://schemas.android.com/apk/res-auto" 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/card_view" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     card_view:cardCornerRadius="4dp" 
     android:layout_margin="5dp"> 
    ..... 
    </android.support.v7.widget.CardView> 

你可以給看看我的帖子裏介紹how to use RecyclerView and CardView。 希望它可以幫助你!