多くの人が持っていた問題がありますが、どうすればそれから抜け出すことができないのか分かりません。 私の場合は助けてください、重複していると印を付けないでください。 私はfirebaseとリンクされたrecyclerviewを持っています。 私recyclerviewはMyAdapterというカスタムアダプタを持っていますリオーダーカスタムアダプターを使用したRecyclerviewアイテム
public class MyAdapter extends RecyclerView.Adapter<MyHolder> implements Filterable {
Context c;
ArrayList<Studi> studi;
ArrayList<Studi> filterList;
CustomFilter filter;
public MyAdapter(Context c, ArrayList<Studi> studi) {
this.c = c;
this.studi = studi;
this.filterList = studi;
}
@Override
public MyHolder onCreateViewHolder (ViewGroup parent, int viewType){
View v= LayoutInflater.from(parent.getContext()).inflate(R.layout.model, parent, false);
MyHolder holder = new MyHolder(v);
return holder;
}
@Override
public void onBindViewHolder (MyHolder holder, int position){
String name = studi.get(position).getName();
String desc = studi.get(position).getDescription();
String prof = studi.get(position).getProfessione();
String tel = studi.get(position).getTelefono();
String coord1 = studi.get(position).getCoordinata1();
String coord2 = studi.get(position).getCoordinata2();
String distanza = studi.get(position).getDistanza();
holder.nameTxt.setText(name);
holder.descTxt.setText(desc);
holder.profTxt.setText(prof);
holder.telTxt.setText(tel);
holder.pos1Txt.setText(coord1);
holder.pos2Txt.setText(coord2);
holder.distanza.setText(distanza);
}
@Override
public int getItemCount(){
return (studi == null) ? 0 : studi.size();
}
//FILTER THING......................
public Filter getFilter() {
if(filter == null)
{
filter=new CustomFilter(filterList,this);
}
return filter;
}}
すべての項目は、それが文字列の距離は書かれているところの内側のTextViewを持っています。この文字列は、各recyclerview項目の番号です。 より低い値から高い値へのすべてのrecyclerview項目を並べ替える必要があります(文字列Distanzaの値)。
は、これは私の大学地区私はArrayListのために使用するクラスです:終わりそう
public class Studi {
private String name;
private String description;
private String professione;
private String telefono;
private String coordinata1;
private String coordinata2;
private String distanza;
public void setDistanza(String distanza) {
this.distanza = distanza;
}
public String getDistanza() {
return distanza;
}
public String getCoordinata2() {
return coordinata2;
}
public void setCoordinata2(String coordinata2) {
this.coordinata2 = coordinata2;
}
public String getCoordinata1() {
return coordinata1;
}
public void setCoordinata1(String coordinata1) {
this.coordinata1 = coordinata1;
}
public String getProfessione() {
return professione;
}
public void setProfessione(String professione) {
this.professione = professione;
}
public String getTelefono() {
return telefono;
}
public void setTelefono(String telefono) {
this.telefono = telefono;
}
public Studi() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}}
、私はgetDistanza()値が低い返すものからrecyclerviewの上部にそれらを並べ替える必要があります他のものよりも。 どうすればいいですか?私は本当に考えていない、と申し訳ありませんが、私はこれで新しいです。
なぜfirebase-databaseタグを追加しましたか? firebaseデータベースからデータを取得していますか? –
正確には、そこからデータを取得します。 –