Anonymní profil rmaster – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil rmaster – Programujte.comAnonymní profil rmaster – Programujte.com

 

Příspěvky odeslané z IP adresy 160.218.85.–

rmaster
Java › Filtr a vlastní adaptér
30. 12. 2014   #197703

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.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý