2016-05-04 11 views
-1

フラグメントにrecyclerViewを作成しました。すべてがうまく行くが、私は要素のリストをスクロールする場合、属性はここでフラグメントのコードがある理由フラグメント内でrecyclerviewを実装する

なく変更:

public class HistorySectionFragment extends Fragment { 
private static final String TAG = HistorySectionFragment.class.getSimpleName(); 
static ArrayList<String> a; 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    RecyclerView recyclerView = (RecyclerView) inflater.inflate(
      R.layout.recycler_view, container, false); 

    ContentAdapter adapter = new ContentAdapter(); 
    recyclerView.setAdapter(adapter); 
    recyclerView.setHasFixedSize(true); 
    recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); 

    return recyclerView; 
} 

public static class ViewHolder extends RecyclerView.ViewHolder { 

    static TextView card_title; 
    static TextView card_text; 

    public ViewHolder(LayoutInflater inflater, ViewGroup parent) { 
     super(inflater.inflate(R.layout.item_card, parent, false)); 
     card_title = (TextView)itemView.findViewById(R.id.card_title); 
     card_text = (TextView)itemView.findViewById(R.id.card_text); 
    } 
} 

public static class ContentAdapter extends RecyclerView.Adapter<ViewHolder>{ 
    // Set numbers of Card in RecyclerView. 
    @Override 
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
     return new ViewHolder(LayoutInflater.from(parent.getContext()), parent); 
    } 

    @Override 
    public void onBindViewHolder(ViewHolder holder, final int position) { 
     final String name = MainActivity.getTestByPosition(position).getName(); 
     holder.card_title.setText(name); 
     final String description = MainActivity.getTestByPosition(position).getDescription(); 
     holder.card_text.setText(description); 
    } 

    @Override 
    public int getItemCount() { 
     return MainActivity.getSize(); 
    } 
} 
} 

recyclerviewは、新しい要素を作成するために呼び出したときに問題があります。

EDIT:

私は属性が変更と言うとき、私はそれぞれの情報は、私はあなたのRecyclerViewに意見を感じているスクロール

+1

フラグメントのレイアウトXMLではなく、コードでリサイクル業者を膨らませますか?リサイクラーとVHの両方は静的クラスですか? –

+0

属性の変更はどういう意味ですか? – varunkr

答えて

0

をviewholder、アダプタを使用することを理解していないのです。

リサイクラの問題とviewHolderの問題は、両方とも静的クラスです。

0

をやって変更cardView意味が安定していません。ビューがリサイクルされると、IDは保存され、データは不一致です。

これをやってみてください。まず

recyclerView.setHasStableIds(false);

0

あなたがrecyclerview用インフレータを使用する理由?最良の方法は、XMLファイルであなたのrecyclerviewを宣言し、findviewById経由でrecyclerviewを取得することです。 は第二に、あなたが属性について何を意味するか、最終的な理由 なく変更と:それは非常に、そのように解決しよう

http://javatechig.com/android/android-recyclerview-example

関連する問題