问题描述
我对RecylerView有问题。 我有一个逐步查看元素。我希望每次单击RecylerView项时,步骤视图都向前移动一步。 使用按钮,我能够非常轻松地完成此操作。我用RecylerView无法做到这一点。因为我需要RecylerView索引号。这是我对Button所做的示例。
public class MyPageFragment extends Fragment implements View.OnClickListener {
private View mView;
private VerticalStepView step_view;
private Button first_btn,second_btn,third_btn,fourth_btn;
private int sayac;
private SharedPreferences sp;
private SharedPreferences.Editor editor;
public MyPageFragment() {
// required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {
// Inflate the layout for this fragment
mView = inflater.inflate(R.layout.fragment_my_page,container,false);
sp = getActivity().getSharedPreferences("GirisBilgi",Context.MODE_PRIVATE);
editor = sp.edit();
sayac = sp.getInt("buton1",0);
step_view = mView.findViewById(R.id.step_view);
first_btn = mView.findViewById(R.id.first_btn);
second_btn = mView.findViewById(R.id.second_btn);
third_btn = mView.findViewById(R.id.third_btn);
fourth_btn = mView.findViewById(R.id.fourth_btn);
first_btn.setonClickListener(this);
second_btn.setonClickListener(this);
third_btn.setonClickListener(this);
fourth_btn.setonClickListener(this);
setStepView();
return mView;
}
private void setStepView() {
step_view.setStepsViewIndicatorComplectingPosition(getList().size())
.reverseDraw(false)
.setStepViewTexts(getList())
.setLinePaddingProportion(0.85f)
.setStepsViewIndicatorCompletedLineColor(getContext().getColor(R.color.colorPrimary))
.setStepViewComplectedTextColor(ContextCompat.getColor(getActivity(),android.R.color.white))
.setStepViewUnComplectedTextColor(ContextCompat.getColor(getActivity(),R.color.uncompleted_text_color))
.setStepsViewIndicatorCompleteIcon(ContextCompat.getDrawable(getActivity(),R.drawable.complted))
.setStepsViewIndicatorDefaultIcon(ContextCompat.getDrawable(getActivity(),R.drawable.default_icon))
.setStepsViewIndicatorAttentionIcon(ContextCompat.getDrawable(getActivity(),R.drawable.attention));
step_view.setStepsViewIndicatorComplectingPosition(sayac);
}
private List<String> getList() {
List<String> list = new ArrayList<>();
list.add("1. Adım");
list.add("2. Adım");
list.add("3. Adım");
list.add("4. Adım");
list.add("5. Adım");
return list;
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.first_btn:
Intent intent = new Intent(getContext(),Sayfa2.class);
startActivity(intent);
editor.putInt("buton1",0);
editor.commit();
step_view.setStepsViewIndicatorComplectingPosition(0);
break;
case R.id.second_btn:
editor.putInt("buton1",1);
editor.commit();
step_view.setStepsViewIndicatorComplectingPosition(1);
break;
case R.id.third_btn:
editor.putInt("buton1",2);
editor.commit();
step_view.setStepsViewIndicatorComplectingPosition(2);
break;
case R.id.fourth_btn:
editor.putInt("buton1",3);
editor.commit();
step_view.setStepsViewIndicatorComplectingPosition(3);
break;
}
}
}
我想用RecyclerView索引号而不是Button来控制开关部分。我的RecylerView和适配器代码如下。
public class KategoriAdapter extends RecyclerView.Adapter<KategoriAdapter.CardTasarimTutucu> {
private Context mContext;
private List<Kategoriler> kategorilerListe;
public KategoriAdapter(Context mContext,List<Kategoriler> kategorilerListe) {
this.mContext = mContext;
this.kategorilerListe = kategorilerListe;
}
@NonNull
@Override
public CardTasarimTutucu onCreateViewHolder(@NonNull ViewGroup parent,int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.kategori_card_tasarim,parent,false);
return new CardTasarimTutucu(view);
}
@Override
public void onBindViewHolder(@NonNull CardTasarimTutucu holder,int position) {
final Kategoriler kategori = kategorilerListe.get(position);
holder.textViewKategoriAd.setText(kategori.getKategori_ad());
holder.kategori_card.setonClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(mContext,Sayfa2.class);
mContext.startActivity(intent);
}
});
}
@Override
public int getItemCount() {
return kategorilerListe.size();
}
public class CardTasarimTutucu extends RecyclerView.ViewHolder{
private CardView kategori_card;
private TextView textViewKategoriAd;
public CardTasarimTutucu(@NonNull View itemView) {
super(itemView);
kategori_card = itemView.findViewById(R.id.kategori_card);
textViewKategoriAd = itemView.findViewById(R.id.textViewKategoriAd);
}
}
}
谢谢您的帮助 app view
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)