Zdravím, prosím, pomozte.
Udělal jsem si vlastní adaptér, abych mohl měnit parametry TextView:
public class MujSeznamAdapter extends ArrayAdapter<String> {
private final Context context;
private final List<String> ValuesSeznam;
private final List<String> ValuesID;
private final Integer Velikost;
public MujSeznamAdapter(Context context, List<String> ValuesSeznam, List<String> ValuesID, Integer Velikost) {
super(context, R.layout.list_item, ValuesSeznam);
this.context = context;
this.ValuesSeznam = ValuesSeznam;
this.ValuesID = ValuesID;
this.Velikost = Velikost;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.list_item, parent, false);
TextView textViewID = (TextView) rowView.findViewById(R.id.SeznamID);
textViewID.setText(ValuesID.get(position));
textViewID.setVisibility(View.GONE);
textViewID.setTextSize(Velikost);
TextView textViewSeznam = (TextView) rowView.findViewById(R.id.seznam);
textViewSeznam.setText(ValuesSeznam.get(position));
textViewSeznam.setVisibility(View.VISIBLE);
textViewSeznam.setTextSize(Velikost);
//textViewSeznam.setTextColor(Color.RED);
//textViewSeznam.setBackgroundColor(Color.BLUE);
return rowView;
}
}
Hodnoty přidám do seznamu ze dvou polí:
MujList1 = new MujSeznamAdapter(this,((Pole) getApplication()).Sloupec(KEY_SEZNAM), ((Pole) getApplication()).Sloupec(KEY_ID),14);
setListAdapter(MujList1);
Vše funguje bezvadně, ale když použiji filtr tohoto seznamu, tak mi to filtruje špatně, resp. počet hodnot si odpovídá, ale řádky v seznamu jsou špatně - do hledání dám třeba "A", tak mi to ukáže správný počet záznamů, které začínají na "A", ale ty samotné záznamy jsou špatně.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.search_menu, menu);
inflater.inflate(R.menu.activity_main_actions, menu);
SearchManager searchManager =(SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
SearchView.OnQueryTextListener textChangeListener = new SearchView.OnQueryTextListener()
{
@Override
public boolean onQueryTextChange(String newText)
{
((MujSeznamAdapter)SeznamPisni.this.MujList1).getFilter().filter(newText.trim());
return true;
}
@Override
public boolean onQueryTextSubmit(String query)
{
return true;
}
};
searchView.setOnQueryTextListener(textChangeListener);
return super.onCreateOptionsMenu(menu);
}
Tušíte, kde může být problém?
Moc děkuji.