我有一个列表视图,我创建了标题(通过使用addHeader(layout)),我的标题包含textviews,我为标题中的一个textviews创建了click事件,并在事件中编写了已排序的代码。 / p>
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",
};
}
它的工作正常,但是当我再次点击标题时,我想从排序列表中返回未列出的列表,那么我该怎么做才能帮助我。
谢谢, @nag。
答案 0 :(得分:2)
在初始化时更改您在适配器中设置的数据(设置未排序的数据),并使用adapter.notifyDataSetChanged()
来获得效果。