【发布时间】:2017-08-19 13:10:16
【问题描述】:
我有一个 recyclerView。向下滚动回收器时,值会丢失。我希望值大于 7。第一次打开时会出现值,但是当我向下滚动滚动条时,它会恢复到原始状态。
FragmentB.java
public class FragmentB extends Fragment{
View view ;
TextView textView;
RecyclerView recyclerView ;
ArrayList<OnemliDepremler> onemliDepremler;
BuyukRecyclerAdapter buyukRecyclerAdapter;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment_sabit,container,false);
// textView=view.findViewById(R.id.textView3);
recyclerView = view.findViewById(R.id.recyclerView);
LinearLayoutManager layoutManager=new LinearLayoutManager(getActivity());
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
layoutManager.scrollToPosition(0);
recyclerView.setLayoutManager(layoutManager);
onemliDepremler=new ArrayList<OnemliDepremler>();
Factory.getInstance().buyukDepremModel().enqueue(new Callback<OnemliDepremModel>() {
@Override
public void onResponse(Call<OnemliDepremModel> call, Response<OnemliDepremModel> response) {
buyukRecyclerAdapter=new BuyukRecyclerAdapter(response.body().data.subList(0, 10));
recyclerView.setAdapter(buyukRecyclerAdapter);
}
@Override
public void onFailure(Call<OnemliDepremModel> call, Throwable t) {
}
});
return view;
}
}
BuyukRecyclerAdapter.java
public class BuyukRecyclerAdapter extends RecyclerView.Adapter<BuyukRecyclerAdapter.ViewHolder> {
public static class ViewHolder extends RecyclerView.ViewHolder{
public TextView buyukluk;
public TextView yer;
public TextView tarih;
public CardView cardView ;
FrameLayout frameLayout;
public ViewHolder(View itemView) {
super(itemView);
cardView = itemView.findViewById(R.id.card_view);
buyukluk=itemView.findViewById(R.id.text_buyukluk);
yer=itemView.findViewById(R.id.text_yer);
tarih=itemView.findViewById(R.id.text_tarih);
frameLayout=itemView.findViewById(R.id.frame_layout);
}
}
List<Datum> onemliDepremler;
public BuyukRecyclerAdapter(List<Datum> onemliDepremler) {
this.onemliDepremler = onemliDepremler;
}
@Override
public BuyukRecyclerAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v= LayoutInflater.from(parent.getContext()).inflate(R.layout.onemli_custom,parent,false);
final ViewHolder view_holder=new ViewHolder(v);
return view_holder;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.buyukluk.setText(onemliDepremler.get(position).siddeti);
holder.tarih.setText("Tarih :"+onemliDepremler.get(position).tarih);
holder.yer.setText(onemliDepremler.get(position).lokasyon);
if(Float.parseFloat(onemliDepremler.get(position).siddeti)>7){
holder.frameLayout.setBackgroundColor(Color.RED);
}
}
@Override
public int getItemCount() {
return onemliDepremler.size();
}
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
}
}
你的建议对我很重要
非常感谢!
【问题讨论】:
-
你能详细说明一下吗?
-
当然,我下去的时候是红色的,所以一定是黄色的,你看图片就知道了
标签: java android android-fragments scroll android-recyclerview