2016-03-25 18 views
-1

私はリストビューを持っていますので、名前で昇順に並べ替えたいです。どのように私はそれをプログラムで行うことができますか?リストビューを名前で昇順にソート

はここにここに私のコード

public class InformationActivity extends AppCompatActivity { 
    private ArrayList<Actors> actorsList; 
    private ActorAdapter adapter; 

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

    final ListView listview = (ListView)findViewById(R.id.list); 
    adapter = new ActorAdapter(getApplicationContext(), R.layout.row, actorsList); 
    listview.setAdapter(adapter); 
    } 
} 

だActorAdapter

public class ActorAdapter extends ArrayAdapter<Actors> { 
    private ArrayList<Actors> actorList; 
    private LayoutInflater vi; 
    private int Resource; 
    private ViewHolder holder; 

    public ActorAdapter(Context context, int resource, ArrayList<Actors> objects) { 
    super(context, resource, objects); 
    vi = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    Resource = resource; 
    actorList = objects; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
    View v = convertView; 
    if (v == null) { 
     holder = new ViewHolder(); 
     v = vi.inflate(Resource, null); 
     holder.imageview = (ImageView) v.findViewById(R.id.imgIcon); 
     holder.tvName = (TextView) v.findViewById(R.id.nama); 
     v.setTag(holder); 
    } else { 
     holder = (ViewHolder) v.getTag(); 
    } 
    holder.tvName.setText(actorList.get(position).getName()); 
    Picasso.with(this.getContext()).load(actorList.get(position).getImage()).placeholder(R.layout.progress).resize(110,110).error(R.mipmap.error).into(holder.imageview); 
    return v; 
    } 

    static class ViewHolder { 
    public ImageView imageview; 
    public TextView tvName; 
    } 
} 

は、私がアンドロイドで初心者だだし、任意のヘルプは大歓迎されます。

ありがとうございます。あなたがsetAdapter方法の前に、あなたのリストを並べ替える必要があります

final ListView listview = (ListView)findViewById(R.id.list); 

    Collections.sort(actorsList, new Comparator<Actors>() { 

      /* This comparator will sort objects alphabetically. */ 

      @Override 
      public int compare(Actors a1, Actors a2) { 

       // String implements Comparable 
       return (a1.name.toString()).compareTo(a2.name.toString()); 
      } 
     }); 

    adapter = new ActorAdapter(getApplicationContext(), R.layout.row, actorsList); 
    listview.setAdapter(adapter); 

:あなたはこのようないくつかの操作を行うことができ

答えて

0

+0

私のために働いていません:( –

+0

あなたの答えを更新できますか?どのように表示するのですか? –

+0

'listview.setAdapter(adapter);の前にあなたのコードを追加しました –

1

使用この

Collections.sort(actorsList, new Comparator<Actors>() { 
@Override 
public int compare(Actors lhs, Actors rhs) { 
    return lhs.getName().compareTo(rhs.getName()); 
}}); 
+0

私のために動作しません:(uは、このコードを呼び出すところから –

+0

... ?? –

+0

私は 'listview.setAdapter(アダプタ)の前に、あなたのコードを追加しました;' –