【发布时间】:2020-01-31 14:30:51
【问题描述】:
我有一个 recyclerview 和一个 imageview,我想在滚动时更改 imageview 图像,但我不知道如何获取当前位置并通过它从列表中获取我的图像,然后将它与 Picasso 一起加载到 imageview!
这是我的代码:
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/main_background"
android:background="#80000000"
android:scaleType="centerCrop"
/>
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="400dp"
android:layout_centerInParent="true"
android:layout_marginBottom="30dp"
android:layout_marginTop="30dp"/>
我的适配器:
public class Place_Adapter extends RecyclerView.Adapter<Place_View_Holder> {
private List<Place> objects;
private Activity context;
public Place_Adapter(List<Place> objects,Activity context){
this.context=context;
this.objects=objects;
}
@Override
public Place_View_Holder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.place_item, parent, false);
Place_View_Holder place_view_holder=new Place_View_Holder(v);
return place_view_holder;
}
@Override
public void onBindViewHolder(Place_View_Holder holder, int position) {
Picasso.with(context)
.load(objects.get(position).getItem_Image())
.placeholder(R.mipmap.image)
.error(R.mipmap.image)
.into(holder.image);
holder.place_name.setText(objects.get(position).getPName());
holder.place_in_map.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
context.startActivity(new Intent(context, MapsActivity.class));
}
});
}
@Override
public int getItemCount() {
return objects.size();
}
}
这是我的活动
mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
if (newState == RecyclerView.SCROLL_STATE_IDLE) {
////here i want to change imageview image
}
}
});
【问题讨论】:
-
您的活动代码在哪里?和你的适配器?把它们都放在这里
-
@LuizFernandoSalvaterra 我拉他们
-
你想在没有点击的情况下这样做吗?只是在某个位置滚动回收视图?
-
@LuizFernandoSalvaterra 是的,我想通过滚动来更改。
标签: android android-recyclerview