2016-09-17 5 views
0

私の活動は、APIの呼び出しの応答でデータを設定しているrecyclerviewで構成されています。私はapi呼び出しの成功応答内に以下のコードを追加しました。ボタンをクリックするとリストがリフレッシュされ、古いリストの上に新しいリストが表示されます。結果として、リストアイテムをクリックすると、現在のリストの背後にあるリストによって複数のアクティビティが開かれます。私はちょうど私のリストは、更新ボタンをクリックして新しいリストで更新する必要があります。私はこれを解決することはできますか?Recyclerviewリフレッシュリスト古いリストの上に新しいリストを表示

@Override 
    public void onSuccess(ResponseData responseString) { 
    mAdapter = new RowAapter(responseString.getdatd(), mContext); 
    mList.setAdapter(mAdapter); 
    mAdapter.notifyDataSetChanged(); 
    mList.addOnItemTouchListener(new RecyclerItemClickListener(mContext, new RecyclerItemClickListener.OnItemClickListener() { 
         @Override 
         public void onItemClick(View view, int position) { 

          startActivity(...); 
         } 
        })); 
+0

明確なアダプタ項目にrecyclerViewに割り当てることができます。 addAll new items - >通知する – XxGoliathusxX

答えて

0

あなたは、アダプタを初期化し、OnCreate

private List<ResponseData> responseData = new ArrayList<>(); 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_detail2); 
    mAdapter = new RowAapter(responseData , mContext); 
    recyclerView = ((RecyclerView)rootView.findViewById(R.id.recyclerView)); 
    LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity()); 
    layoutManager.setOrientation(LinearLayoutManager.VERTICAL); 
    recyclerView.setLayoutManager(layoutManager); 
    recyclerView.setAdapter(mAdapter); 
} 

@Override 
public void onSuccess(ResponseData responseString) { 
    responseData.addAll(responseString.getdatd()); 
    mAdapter.notifyDataSetChanged(); 
    mList.addOnItemTouchListener(new RecyclerItemClickListener(mContext, new  RecyclerItemClickListener.OnItemClickListener() { 
       @Override 
       public void onItemClick(View view, int position) { 

        startActivity(...); 
       } 
      })); 
関連する問題