2016-05-19 6 views
1

私は5つの項目を表示するためにリサイラビューを使用しています。 各項目にはテキストと画像が含まれています。 これは私がそれらをロードする方法です。私は画像を読み込むためにピカソも使用していますが、画像は500kbを超えていませんが、速くスクロールすると遅れがあります。どんな助けもありがとう。RecyclerViewスクロールスクロール

List<ItemObject> rowListItem = getAllItemList(); 
lLayout = new LinearLayoutManager(MainActivity.this); 
RecyclerView rView = (RecyclerView)findViewById(R.id.recycler_view); 
rView.setLayoutManager(lLayout); 
RecyclerViewAdapter rcAdapter = new RecyclerViewAdapter(MainActivity.this, rowListItem); 
rView.setAdapter(rcAdapter); 

private List<ItemObject> getAllItemList(){ 
     List<ItemObject> allItems = new ArrayList<ItemObject>(); 
     allItems.add(new ItemObject("Add a Task", R.drawable.addtask)); 
     allItems.add(new ItemObject("Submit Complaint", R.drawable.noelec)); 
     allItems.add(new ItemObject("View Consumption",R.drawable.statistiw)); 
     allItems.add(new ItemObject("About Us", R.drawable.aboutus)); 
     allItems.add(new ItemObject("Track Field Team", R.drawable.ft_track)); 
     return allItems; 
    } 

itemObject:

private String name; 
    private int photo; 

    public ItemObject(String name, int photo) { 
     this.name = name; 
     this.photo = photo; 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    public int getPhoto() { 
     return photo; 
    } 

ホルダー:

public class RecyclerViewHolders extends RecyclerView.ViewHolder { 

    public TextView Name; 
    public ImageView Photo; 

    public RecyclerViewHolders(View itemView) { 
     super(itemView); 
     Name = (TextView)itemView.findViewById(R.id.name); 
     Photo = (ImageView)itemView.findViewById(R.id.photo); 
    } 
} 

アダプタ:

public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewHolders> { 

    private List<ItemObject> itemList; 
    private Context context; 



    public RecyclerViewAdapter(Context context, List<ItemObject> itemList) { 
     this.itemList = itemList; 
     this.context = context; 
    } 

    @Override 
    public RecyclerViewHolders onCreateViewHolder(ViewGroup parent, int viewType) { 

     View layoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_view_list, null); 
     RecyclerViewHolders rcv = new RecyclerViewHolders(layoutView); 
     return rcv; 
    } 

    @Override 
    public void onBindViewHolder(RecyclerViewHolders holder, int position) { 
     holder.Name.setText(itemList.get(position).getName()); 
Picasso.with(context).load(itemList.get(position).getPhoto()).into(holder.Photo); 

    } 

    @Override 
    public int getItemCount() { 
     return this.itemList.size(); 
    } 
} 
+0

リサイクルビューのスクロールを少し遅くしますか? –

+0

現在、遅くて滑らかではありません。私はスムーズにスクロールしたいです –

+0

[Android:コントロールスムーススクロールリサイクラービュー]の可能な複製(http://stackoverflow.com/questions/28803319/android-control-smooth-scroll-over-recycler-view) –

答えて

0
MainActivityで

画像の高さと幅に関するすべて...私は画像の高さを700に、幅を400に、スムーズにスクロールしました。

+0

最初の幅と高さは何でしたか? –

0

このメソッドを呼び出すsetHasStableIds(true);

関連する問題