0
嗨,我是新的android開發人員,想知道如何在點擊搜索按鈕後對數據進行排序。但在搜索我的數據不是按字母順序。 不知道如何對此搜索活動中的數據進行排序..向我顯示字符串中給出的列表。希望搜索活動按字母順序顯示我的數據。排序列表查看搜索數據
public class Search extends Activity {
protected static final Object TAG_DISTANCE = null;
// Listview Adapter
ArrayAdapter<String> adapter;
// Search EditText
EditText inputSearch;
// List view
private ListView lv;
// ArrayList for Listview
ArrayList<HashMap<String, String>> productList;
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
@SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search);
ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#6B8E23")));
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);
// Listview Data
String products[] ={"Atherosclerosis","Coranary Heart Disease","Stable Angina","Unstable Angina","Myocardial Infarction","Cardiac Risk of Non-Cardiac Surgery","Sinus Rhythms","Atrial Tachyarrhthmias",
"Supraventricular Tachycardias","Ventricular Tachyarrhthmias","Sinoatrial Disease","Atrioventricular and Bundle Branch Block",
"Peripheral Arterial Disease","Aortic Aneurysm","Aortic Dissection","Hypertension",
"Rheumatic Heart Disease","Mitral Stenosis","Mitral Regurgitaion","Mitral Valve Prolapse","Aortic Stenosis","Aortic Regurgitation","Tricuspid Stenosis","Tricuspid Regurgitation","Pulmonary Stenosis","Pulmonary Regurgitation","Infective Endocarditis","Persistent Ductus Arteriosis","Conginital Heart Disease","Diseases of the Myocardium",
"Diseases of the Pericardium"};
lv = (ListView) findViewById(R.id.list_view);
inputSearch = (EditText) findViewById(R.id.inputSearch);
// Adding items to listview
adapter = new ArrayAdapter<String>(this, R.layout.list_items, R.id.searchdisease,products);
lv.setAdapter(adapter);
/**
* Enabling Search Filter
* */
inputSearch.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
// When user changed the Text
Search.this.adapter.getFilter().filter(cs);
}
});
}
}
感謝它的工作... adapter.notifyDataSetChanged();這個是來做什麼的??? – user2592807
它只是爲了更新你的arrayadapter在textchange上可選。 –