2011-09-15 49 views
0

我有一個列表視圖和我創建的標題(通過使用addHeader(佈局)),並且我的標題有textviews,我創建了一個在標題中的textviews的單擊事件,並在事件中編寫了排序的代碼。如何在我點擊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", 

     }; 

} 

而且其工作正常,但我想從排序列表返回取消排序名單時,我在標題再次點擊,所以我怎麼能做到這一點一個plz幫助我。

謝謝, @nag。

回答

2

更改您在初始化時在適配器中設置的數據(設置未分類數據),並使用adapter.notifyDataSetChanged()來獲得該效果。

+0

你可以根據上面的代碼plz發佈樣本。 – nag

+0

請遵循本教程:http://www.vogella.de/articles/AndroidListView/article.html –