2017-12-05 1 views
0

hallo Ich möchte einige Daten in benutzerdefinierten Arraylist ändernKann ich einen Artikel innerhalb Custom ändern

meine Gewohnheit Array

public class Item_GetMembers { 

    String userid,username,gender,admin,ban,type; 

    public Item_GetMembers(String userid, String username, String gender, String admin, String ban, String type) { 
     this.userid = userid; 
     this.username = username; 
     this.gender = gender; 
     this.admin = admin; 
     this.ban = ban; 
     this.type = type; 
    } 
} 

I Verbot von 0 bis 1 Postion ändern möchten 3 Kann ich es tun aus die gleiche Seite oder nicht?

mein Adapter

public class Adapter_GetMembers extends RecyclerView.Adapter<Adapter_GetMembers.AdapterHolder>{ 

     ArrayList<Item_GetMembers> CategoriesList; 
     Context context; 

     public Adapter_GetMembers(Context context , ArrayList<Item_GetMembers> categories) { 
      this.context = context; 
      CategoriesList = categories; 
     } 

     @Override 
     public AdapterHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
      View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.row_getmembers,parent,false); 
      AdapterHolder adapterHolder = new AdapterHolder(v); 

      return adapterHolder; 
     } 

     @Override 
     public void onBindViewHolder(final AdapterHolder holder, final int position) { 
      final Item_GetMembers item_getMembers = CategoriesList.get(position); 
item_getMembers.ban.get(3,1); //but wrong why?? 

     } 

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

     class AdapterHolder extends RecyclerView.ViewHolder 
     { 

      public AdapterHolder(View itemView) { 
       super(itemView); 

      } 
     } 

}

kann ich in ihm bearbeiten Daten? Ich habe versucht, eine Menge, es zu ändern, aber es hat nicht funktioniert , Dank im Voraus

+0

Sie meinen, Sie wollen Ihre Modellposition von 0 bis 1 bewegen, nicht wahr? – Ninja

+0

ja natürlich: D – yazan

+0

Ich möchte die Datenposition 3 von 0 auf 1 ändern – yazan

Antwort

0

Versuchen Sie, diese

@Override 
public void onBindViewHolder(final AdapterHolder holder, final int position) { 
    final Item_GetMembers item_getMembers = CategoriesList.get(position); 
    //It means if your position is zero then zero position item will move at third position 
    if(position == 0) 
     moveItem(3, item_getMembers); 

} 

private void moveItem(int toItemPos, Item_GetMembers item) 
{ 
    for(int i = 0; i < CategoriesList.size(); i++){ 
     if(toItemPos == i){ 
      CategoriesList.add(i, item) 
      break;    
     } 
    } 
    notifyDataSetChanged(); 
} 
+0

kein Mann zum Beispiel habe ich 2 Name in Array Postion 0 name = "A" Postion 1 name = "B" I Änderung Postion wollen 0 von A bis Haley – yazan

+0

Sie mich verstehen? – yazan

+0

aber wo schreibe neuen Namen ?? – yazan

Verwandte Themen