2011-09-15 15 views
0

私はリストビューを持っていて、それにaddHeader(レイアウト)を使ってヘッダを作成しました。私のヘッダはtextviewsを持っていて、イベントのヘッダと書かれたソートコードのtextviewsのclickイベントを作成しました。Androidリストビューのヘッダーをクリックするとソートされたリストをソートする方法はありますか?

package com.sample; 



import java.util.Arrays; 
import java.util.Collections; 
import java.util.List; 


import android.R.array; 
import android.app.Activity; 
import android.app.AlertDialog; 
import android.content.DialogInterface; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.ArrayAdapter; 
import android.widget.Button; 
import android.widget.ListView; 

public class SampleActivity extends Activity { 
    /** Called when the activity is first created. */ 
     List<String> ls; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     ListView lst=(ListView)findViewById(R.id.bookListView); 
     View v = getLayoutInflater().inflate(
       R.layout.header, null); 
     lst.addHeaderView(v); 

       lst.setAdapter(new ArrayAdapter<String> 
        (this, android.R.layout.simple_list_item_1, COUNTRIES)); 
       ls=Arrays.asList(COUNTRIES); 
       // Collections.sort(ls); 
       TextView bt=(TextView)v.findViewById(R.id.item2); 
       bt.setOnClickListener(new View.OnClickListener() { 

          @Override 
          public void onClick(View v) { 
            // TODO Auto-generated method stub 

            Arrays.sort(COUNTRIES); 
            lst.invalidateViews(); 

     }}); 

      static final String[] COUNTRIES = new String[] { 
      "Afghanistan", "japan", "China", "Barma", 

     }; 

} 

とその細かい作業が、私はので、私はこの1つを行うことができますどのようにplzは私を助けるヘッダーをもう一度クリックすると、ソートされたリストからのunsortリストをバックアップします。

ありがとう、 @nag

答えて

2

アダプタを初期化しているときに設定したデータ(設定されていないデータを設定)を変更し、adapter.notifyDataSetChanged()を使用して効果を得ます。

+0

上記のコードに基づいてサンプルを投稿できますか? – nag

+0

このチュートリアルに従ってください:http://www.vogella.de/articles/AndroidListView/article.html –

関連する問題