RecylerView位置

问题描述

我对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 (将#修改为@)