我无法从列表视图搜索
,我想尽各种办法,但它不是为我工作(无故障)。我有其他的搜索方式,但我想使这个可能的方式。
I am unable to search from listview
, i tried various ways, but its not working for me(No Errors). I have other way to search but i want to make this way possible.
下面是code
public class MainActivity extends Activity implements TextWatcher {
CustomAdapter mAdapter;
ListView mListview;
EditText search;
List<String> tempCity, cityNames;
String list[];
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
bindComponents();
addListeners();
}
private void addListeners() {
// TODO Auto-generated method stub
search.addTextChangedListener(this);
}
private void init() {
// TODO Auto-generated method stub
mPos = new ArrayList<Integer>();
tempCity = new ArrayList<String>();
cityNames = new ArrayList<String>();
list = getResources().getStringArray(R.array.cityList);
cityNames.addAll(Arrays.asList(list));
}
private void bindComponents() {
// TODO Auto-generated method stub
mListview = (ListView) findViewById(R.id.cityList);
mAdapter = new CustomAdapter();
search = (EditText) findViewById(R.id.eTsearch);
mListview.setAdapter(mAdapter);
}
public class CustomAdapter extends ArrayAdapter<String> {
public CustomAdapter() {
super(MainActivity.this, android.R.layout.simple_list_item_1,
cityNames);
// TODO Auto-generated constructor stub
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return cityNames.size();
}
@Override
public String getItem(int pos) {
// TODO Auto-generated method stub
return cityNames.get(pos);
}
@Override
public long getItemId(int pos) {
// TODO Auto-generated method stub
return pos;
}
@Override
public View getView(int pos, View v, ViewGroup vGroup) {
// TODO Auto-generated method stub
View row = v;
if (row == null) {
row = getLayoutInflater().inflate(R.layout.main_row, null);
}
TextView mCityTv = (TextView) row.findViewById(R.id.itemTv);
mCityTv.setText(cityNames.get(pos));
return row;
}
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
mAdapter.getFilter().filter(s.toString());
}
}
任何帮助将是非常美联社preciated ..
Any Help would be highly appreciated..
感谢
我要转用搜索实现的可筛选的另一种方式
类
请看到类似的答案 我提供
Please see similar answer given by me