2017-10-19 18 views
-3

我有一個recyclerview,我想顯示「加載...」消息或旋轉循環,而回收站使用json的數據填充。 這是我回收代碼:如何在recyclerview中顯示加載消息

arrayList = new ArrayList<>();  
    adapter = new ListAdapterGrupat2(this, arrayList, Comanda.class); 
    list.setAdapter(adapter); 
    final Retrofit retrofit = new Retrofit.Builder() 
      .baseUrl("http://mysite/") 
      .addConverterFactory(GsonConverterFactory.create()) 
      .build(); 
    service = retrofit.create(API.class); 

    if (myuser.equals("1")) { 
     service.getComenzileMele(user).enqueue(listener); 

    } else { 
     service.getComenziGrupat().enqueue(listener); 
    } 
} 
Callback<List<CustomObject>> listener = new Callback<List<CustomObject>>() { 

    @Override 
    public void onResponse(Call<List<CustomObject>> call, Response<List<CustomObject>> response) { 
     arrayList.clear(); 
     arrayList.addAll(response.body()); 
     adapter.notifyDataSetChanged(); 
    } 

    @Override 
    public void onFailure(Call<List<CustomObject>> call, Throwable t) { 
     Toast.makeText(ComenziGrupatActivity.this, "ERROR", Toast.LENGTH_SHORT).show();   
    } 
}; 

這是適配器:

public class ListAdapterGrupat2 extends RecyclerView.Adapter<ListAdapterGrupat2.ViewHolder> { 

public ListAdapterGrupat2(Context context, ArrayList<CustomObject> arrayList, Class<?> cls) {   
} 

@Override 
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
    View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_programarigrupat, parent, false); 
    return new ViewHolder(v); 
} 

@Override 
public void onBindViewHolder(ViewHolder holder, int position) { 
    CustomObject obj = arrayList.get(position); 
    holder.item2.setText(obj.getItem2()); 

} 
+0

我們需要您的適配器代碼來執行此操作。 –

+0

@ deathangel908我應該在哪裏看到它?它的工作原理是 – cvmircea

回答

0

添加ProgressBar到您的類和佈局(您recicleView附近)。如果你想要的文字:添加的LinearLayout,並把那裏ProgressBarTextView(上LinearLayout中觸發可見性):當你提出請求

ProgressBar bar; 

顯示進度和隱藏recicleView:

bar.setVisibility(VISIBLE); 
recicleView.setVisibility(GONE);  
service.getComenzileMele(user).enqueue(listener); 

隱藏進度時請求已完成並恢復recicleView:

Callback<List<CustomObject>> listener = new Callback<List<CustomObject>>() { 

    @Override 
    public void onResponse(Call<List<CustomObject>> call, Response<List<CustomObject>> response) { 
     bar.setVisibility(GONE); 
     recicleView.setVisibility(VISIBLE); 
    } 

    @Override 
    public void onFailure(Call<List<CustomObject>> call, Throwable t) { 
     bar.setVisibility(GONE); 
     recicleView.setVisibility(VISIBLE);   
    } 
}; 
+0

。非常感謝。 – cvmircea

相關問題