Android 更改列中项目的顺序
我有这样的图像: 但我想这样改变它。 我该怎么做?我和recyclerView一起工作 我的代码是: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() !=
@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