RecycleView 滑动问题
1.看adapter
package com.example.myrecycleview; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import java.util.List; /** * Created by guoxw on 2017/6/13. * SongFragment 中的recycleView的adapter */ public class RecycleViewAdapter extends RecyclerView.Adapter<RecycleViewAdapter.ViewHolder> { /** * */ List<MusicInfo> data; Context context; public RecycleViewAdapter(List<MusicInfo> data, Context context) { this.data = data; this.context = context; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view= LayoutInflater.from(context).inflate(R.layout.recycleview_item_layout,parent,false); final ViewHolder holder=new ViewHolder(view); return holder; } @Override public void onBindViewHolder(final ViewHolder holder, final int position) { MusicInfo musicInfo=data.get(position); holder.textView_SongName.setText(musicInfo.getMusicName()); holder.textView_SongSinger.setText(musicInfo.getMusicSinger()); holder.textView_SongName.setTextColor(context.getResources().getColor(R.color.colorPrimaryDark)); holder.textView_SongSinger.setTextColor(context.getResources().getColor(R.color.colorPrimaryDark)); if(data.get(position).isMusicPro()){ holder.image_SongPro.setImageResource(R.mipmap.favo); }else{ holder.image_SongPro.setImageResource(R.mipmap.favono); } holder.image_SongPro.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(data.get(position).isMusicPro()){ holder.image_SongPro.setImageResource(R.mipmap.favono); data.get(position).setMusicPro(false); }else { holder.image_SongPro.setImageResource(R.mipmap.favo); data.get(position).setMusicPro(true); } } }); holder.itemView.setTag(position); } @Override public int getItemCount() { return data.size(); } class ViewHolder extends RecyclerView.ViewHolder{ View viewItem; ImageView image_SongTitle,image_SongPro; TextView textView_SongName,textView_SongSinger; public ViewHolder(View itemView) { super(itemView); viewItem=itemView; textView_SongName= (TextView) itemView.findViewById(R.id.textView_SongName); textView_SongSinger= (TextView) itemView.findViewById(R.id.textView_SongSinger); image_SongPro= (ImageView) itemView.findViewById(R.id.image_SongPro); image_SongTitle= (ImageView) itemView.findViewById(R.id.image_SongTitle); } } }
2.Musicinfo
package com.example.myrecycleview; /** * Created by guoxw on 2017/6/13. * songFragment界面数据对象 包含:1 歌名,2 歌手,3 收藏状态,4 图片资源(未知) */ public class MusicInfo { String musicName; String musicSinger; boolean musicPro; public MusicInfo(String musicName, String musicSinger) { this.musicName = musicName; this.musicSinger = musicSinger; musicPro=false; } public void setMusicName(String musicName) { this.musicName = musicName; } public void setMusicSinger(String musicSinger) { this.musicSinger = musicSinger; } public void setMusicPro(boolean musicPro) { this.musicPro = musicPro; } public String getMusicName() { return musicName; } public String getMusicSinger() { return musicSinger; } public boolean isMusicPro() { return musicPro; } }
3.Main
package com.example.myrecycleview; import android.content.Context; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import java.util.ArrayList; import java.util.List; import java.util.zip.Inflater; public class MainActivity extends AppCompatActivity { RecyclerView recyclerView; RecycleViewAdapter recyclerViewAdapter; List<MusicInfo> data=new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); addMusicInfoEnglish(); recyclerView= (RecyclerView) findViewById(R.id.recycleView); recyclerView.setOverScrollMode(View.OVER_SCROLL_NEVER); addMusicInfoEnglish(); LinearLayoutManager linearLayoutManager=new LinearLayoutManager(this); linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); recyclerView.setLayoutManager(linearLayoutManager); recyclerViewAdapter=new RecycleViewAdapter(data,this); recyclerView.setAdapter(recyclerViewAdapter); } public void addMusicInfoEnglish(){ data.clear(); data.add(new MusicInfo("My Soul","July")); data.add(new MusicInfo("Five Hundred Miles","Justin Timberlake")); data.add(new MusicInfo("Whistle","Fio Rida")); data.add(new MusicInfo("Seasons In The Sun","Westlife")); data.add(new MusicInfo("My Soul","July")); data.add(new MusicInfo("Five Hundred Miles","Justin Timberlake")); data.add(new MusicInfo("Whistle","Fio Rida")); data.add(new MusicInfo("Seasons In The Sun","Westlife")); data.add(new MusicInfo("My Soul","July")); data.add(new MusicInfo("Five Hundred Miles","Justin Timberlake")); data.add(new MusicInfo("Whistle","Fio Rida")); data.add(new MusicInfo("Seasons In The Sun","Westlife")); data.add(new MusicInfo("My Soul","July")); data.add(new MusicInfo("Five Hundred Miles","Justin Timberlake")); data.add(new MusicInfo("Whistle","Fio Rida")); data.add(new MusicInfo("Seasons In The Sun","Westlife")); } }
item.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:orientation="vertical" xmlns:app="http://schemas.android.com/apk/res-auto" android:gravity="center_vertical" android:layout_height="70dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="70dp" android:gravity="center_vertical" android:orientation="horizontal"> <ImageView android:layout_width="50dp" android:layout_height="50dp" android:src="@mipmap/mp3" android:clickable="true" android:id="@+id/image_SongTitle"/> <LinearLayout android:layout_marginLeft="10dp" android:layout_height="50dp" android:layout_width="0dp" android:layout_weight="1" android:id="@+id/layout" android:orientation="vertical"> <TextView android:id="@+id/textView_SongName" android:layout_width="match_parent" android:layout_height="30dp" android:paddingTop="5dp" android:textColor="@color/colorAccent" android:textSize="18sp"/> <TextView android:id="@+id/textView_SongSinger" android:layout_width="match_parent" android:layout_height="20dp" android:textColor="@color/colorAccent" android:textSize="18sp"/> </LinearLayout> <RelativeLayout android:layout_width="50dp" android:layout_height="50dp"> <ImageView android:layout_width="30dp" android:layout_height="30dp" android:layout_centerInParent="true" android:id="@+id/image_SongPro" android:src="@mipmap/favono"/> </RelativeLayout> </LinearLayout> </LinearLayout>

今天多一点积累,明天少一分烦恼

浙公网安备 33010602011771号