Android 更改列中项目的顺序

Android 更改列中项目的顺序,android,arraylist,android-recyclerview,Android,Arraylist,Android Recyclerview,我有这样的图像: 但我想这样改变它。 我该怎么做?我和recyclerView一起工作 我的代码是: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); //Boton Atrás if(getSupportActionBar() !=

我有这样的图像: 但我想这样改变它。 我该怎么做?我和recyclerView一起工作

我的代码是:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);

    //Boton Atrás
    if(getSupportActionBar() != null){ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    }

    //codigo de lista
    lista2ParaNotas = findViewById(R.id.lista2);
    lista2ParaNotas.setLayoutManager(new GridLayoutManager(this, 2, GridLayoutManager.VERTICAL,
          false));

    //lista2ParaNotas.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));
    lista2ParaNotas.addItemDecoration(
            new DividerItemDecoration(this,DividerItemDecoration.VERTICAL));

    //ArrayList<PuntoNota> puntoNotaList = (ArrayList<PuntoNota>) getIntent().getSerializableExtra("miLista");
    listaFinal = (ArrayList<PuntoNota>) getIntent().getSerializableExtra("miLista");

    AdapterDatos adapter = new AdapterDatos(this, listaFinal);
    lista2ParaNotas.setAdapter(adapter);

}
@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
//博顿阿特拉斯酒店
如果(getSupportActionBar()!=null){getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
//科迪戈·德利斯塔
lista2ParaNotas=findViewById(R.id.lista2);
lista2ParaNotas.setLayoutManager(新的GridLayoutManager)(这个,2,GridLayoutManager.VERTICAL,
假),;
//lista2ParaNotas.setLayoutManager(新的LinearLayoutManager(此,LinearLayoutManager.VERTICAL,false));
列表A2paranotas.additem(
新的DividerItemDecoration(这个,DividerItemDecoration.VERTICAL));
//ArrayList puntoNotaList=(ArrayList)getIntent().getSerializableExtra(“miLista”);
listaFinal=(ArrayList)getIntent().getSerializableExtra(“miLista”);
AdapterDatos adapter=新的AdapterDatos(此,listaFinal);
lista2ParaNotas.setAdapter(适配器);
}
我有这个图像:原始图像,但我想改变它像这样。最终图像我该怎么做?我和recyclerView一起工作。 我的代码适配器

public class AdapterDatos extends RecyclerView.Adapter<AdapterDatos.ViewHolderDatos>{

private Context context;
private ArrayList<PuntoNota> puntoNotaList;

public AdapterDatos(Context context, ArrayList<PuntoNota> puntoNotaList) {
    this.context = context;
    this.puntoNotaList = puntoNotaList;
}

@NonNull
@Override
public ViewHolderDatos onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

    View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_list,parent,false);
    ViewHolderDatos viewHolder = new ViewHolderDatos(itemView);
    return viewHolder;
}

@Override
public void onBindViewHolder(@NonNull ViewHolderDatos holder, int position) {

    holder.punto.setText(puntoNotaList.get(position).getPunto());
    holder.nota.setText(puntoNotaList.get(position).getNota());


    }

@Override
public int getItemCount() {
    return puntoNotaList.size();
}

public class ViewHolderDatos extends RecyclerView.ViewHolder {

    TextView punto, nota;

    public ViewHolderDatos(View item) {
        super(item);
        punto = item.findViewById(R.id.idPunto);
        nota = item.findViewById(R.id.idNota);
    }
}
}
公共类AdapterDatos扩展了RecyclerView.Adapter{ 私人语境; 私人ArrayList Puntonitalist; 公共AdapterDatos(上下文,ArrayList PuntotaList){ this.context=上下文; this.puntoNotaList=puntoNotaList; } @非空 @凌驾 public ViewHolderDatos onCreateViewHolder(@NonNull ViewGroup父级,int viewType){ View itemView=LayoutFlater.from(parent.getContext()).flate(R.layout.item_list,parent,false); ViewHolderDatos viewHolder=新ViewHolderDatos(项目视图); 返回视图持有者; } @凌驾 public void onBindViewHolder(@NonNull ViewHolderDatos holder,int位置){ holder.punto.setText(puntoNotaList.get(position.getPunto()); holder.nota.setText(puntoNotaList.get(position.getNota()); } @凌驾 public int getItemCount(){ 返回puntoNotaList.size(); } 公共类ViewHolderDatos扩展了RecyclerView.ViewHolder{ TextView punto,nota; 公共ViewHolderDatos(视图项){ 超级(项目); punto=项目.findViewById(R.id.idpto); nota=项目.findViewById(R.id.idNota); } } }
在转到适配器之前,请对您的收藏进行排序

listaFinal = (ArrayList<PuntoNota>) getIntent().getSerializableExtra("miLista"); 

Collections.sort(listaFinal , new Comparator<PuntoNota>() {
            @Override
            public int compare(PuntoNota o1, PuntoNota o2) {
                return o1.getNumber().compareTo(o2.getNumber());
            }
        });

AdapterDatos adapter = new AdapterDatos(this, listaFinal);
lista2ParaNotas.setAdapter(adapter)
listaFinal=(ArrayList)getIntent().getSerializableExtra(“miLista”);
Collections.sort(listaFinal,newcomparator(){
@凌驾
公共整数比较(蓬托尼塔o1,蓬托尼塔o2){
返回o1.getNumber().compareTo(o2.getNumber());
}
});
AdapterDatos adapter=新的AdapterDatos(此,listaFinal);
lista2ParaNotas.setAdapter(适配器)

并用自定义类字段替换
getNumber()

在转到适配器之前,请对您的收藏进行排序

listaFinal = (ArrayList<PuntoNota>) getIntent().getSerializableExtra("miLista"); 

Collections.sort(listaFinal , new Comparator<PuntoNota>() {
            @Override
            public int compare(PuntoNota o1, PuntoNota o2) {
                return o1.getNumber().compareTo(o2.getNumber());
            }
        });

AdapterDatos adapter = new AdapterDatos(this, listaFinal);
lista2ParaNotas.setAdapter(adapter)
listaFinal=(ArrayList)getIntent().getSerializableExtra(“miLista”);
Collections.sort(listaFinal,newcomparator(){
@凌驾
公共整数比较(蓬托尼塔o1,蓬托尼塔o2){
返回o1.getNumber().compareTo(o2.getNumber());
}
});
AdapterDatos adapter=新的AdapterDatos(此,listaFinal);
lista2ParaNotas.setAdapter(适配器)

并用自定义类字段替换
getNumber()

请帮帮我。你可以发布AdapterDatos的代码吗?我刚刚发送了AdapterDatos的代码。请帮帮我。你可以发布AdapterDatos的代码吗?我刚刚发送了AdapterDatos。订购不正确。图像看起来就像这样:但是我希望这样:好的,如果你想那样对齐,那么你必须在设置适配器之前编辑你的ArrayList。i、 e您必须将ArrayList拆分为两个ArrayList,
for(int i=0;i排序不正确)。图像如下所示:但我希望它是这样的:如果您希望这样对齐,则必须在设置适配器之前编辑ArrayList。例如,您必须将ArrayList拆分为两个ArrayList,
for(int i=0;i