我尝试创建包含recyclerview内部项目数量的recyclerview和Textview。当我向下滚动项目的数量应该增加。这是我的代码:
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.squareup.picasso.Picasso;
import java.util.ArrayList;
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {
private static final String LOG_TAG = MyAdapter.class.getSimpleName();
ArrayList<FeedItem> feedItems;
Context context;
TextView Counter;
public MyAdapter(Context context, ArrayList<FeedItem> feedItems){
this.feedItems = feedItems;
this.context = context;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.custum_row_news_item, parent, false);
MyViewHolder holder = new MyViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
FeedItem current = feedItems.get(position);
String count = Integer.toString(++position);
Log.d(LOG_TAG, " Processing: " + count);
// Toast toastMessage = Toast.makeText(this, "Text value is now " + count, Toast.LENGTH_LONG);
// toastMessage.show();
holder.Title.setText(current.getTitle());
holder.Artist.setText(current.getArtist());
holder.Date.setText(current.getReleaseDate());
Picasso.with(context).load(current.getImageUrl()).into(holder.Image);
}
@Override
public int getItemCount() {
return feedItems.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder {
TextView Title,Artist,Date;
ImageView Image;
//TextView ItemsCounter;
public MyViewHolder(View itemView) {
super(itemView);
Title= (TextView) itemView.findViewById(R.id.title_text);
Artist= (TextView) itemView.findViewById(R.id.counter_text);
Date= (TextView) itemView.findViewById(R.id.date_text);
Image= (ImageView) itemView.findViewById(R.id.image_img);
}
}
}
请帮助我,这是我做过的最好的事情。
答案 0 :(得分:0)
您可以从recyclerviews的布局管理器的findFirstVisibleItemPosition()方法获取Recyclerview中第一个可见项的位置
mRecycleView.setOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
int positionView = ((LinearLayoutManager)recyclerView.getLayoutManager()).findFirstVisibleItemPosition();
textView.setText(Integer.toString(positionView)); //The TextView you want to update
}
});