[RESOLVIDO][ANDROID] Ajuda com Scroll de pesquisa personalizado

Olá pessoal, tudo bem? To com um pequeno problema. Criei uma tela de pesquisa na minha aplicacao mas qndo a pesquisa e muito grande, da erro de OutOfMemory. Alguém conhece como o Market faz pra fazer aquele scroll? Tipo quando chega no fim, puxa mais items ? Algué me ajude por favor. Se alguem ja tiver nem q seja parecido ou do porque ta dando OutOfMemory post por favor um pedaco do codigo ou algum caminho.

Qual componente voce está usando para isso?

Uma ListView irá carregar as novas Views enquanto for scrollando.

Obrigado por responder marky.

Olha, to ultilizando um ScrollView e inserindo os TextView com LinearLayout nele, pois quero q cada item tenha duas descricoes. Se eu mudar para listView eu conseguiria inserir varios Layouts ? E outra como a adicao e dinamica, teria algum evento do listview que eu iria ultilizar para fazer a insercao ? Se você tiver algum exemplo me envie por favor, to precisando muito disso pra mim terminar meu projeto. Fico no aguardo.

Da uma olhada nesse exemplo que fiz com a Gallery:

Ele usa um Adapter que cria ImageViews para serem colocadas na Gallery, voce vai fazer algo parecido com o ListView.

Voce pode implementar o layout das Views das linhas do ListView via XML (Dai infla com Inflate) ou então programaticamente mesmo.

Obrigado pela resposta marky.

Ainda estou com algums problemas. Gerei um ListAdapter, e tal mas nao se como seria isso ao certo. No post que você criou voce esta usando um gallery e tal, no meu caso quero ultilizar ou um ListView ou um ScrollView. (ListAdapter)http://pastebin.com/kHRmEJFY e (SearchProvider)http://pastebin.com/9tPxD1ws e o XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:id="@+id/layoutSearch">
    <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/lblSearch" android:text="TextView"></TextView>
</LinearLayout>

A unica coisa pra mim terminar o meu projeto é isso. Se poder dar uma dica ficaria muito grato

Só para voce ter idéia, esse é um Adapter que eu uso em uma ListView.

	public class BookAdapter extends ArrayAdapter<LibraryItem> {
		private List<LibraryItem> books;

		public BookAdapter(Context c, List<LibraryItem> books) {
			super(c, R.layout.book_list_view, books);
			this.books = books;
		}

		public View getView(int position, View convertView, ViewGroup parent) {
           
			RelativeLayout layout = null;

			if (convertView == null)
				layout = (RelativeLayout) LayoutInflater.from(getContext())
						.inflate(R.layout.book_list_view, null);
			else
				layout = (RelativeLayout) convertView;

			layout.setBackgroundResource(position % 2 == 0 ? R.drawable.background_dark
					: R.drawable.background_light);

			final LibraryItem book = getItem(position);
			ImageView image = (ImageView) layout.findViewById(R.id.book_cover);
			TextView title = (TextView) layout.findViewById(R.id.title);
			TextView author = (TextView) layout.findViewById(R.id.author);

			image.setImageBitmap(book.getThumb());
			//Coloca valor nos outros campos

			return layout;
		}

		public LibraryItem getItem(int id) {
			return books.get(id);
		}

		public void setData(List<LibraryItem> books) {
			this.books = books;
			notifyDataSetChanged();
		}

		public int getCount() {
			return books.size();
		}

		public long getItemId(int position) {
			return position;
		}
	}

O layout foi feito via XML e eu pego os campos e altero desse modo.

Ola marky, valeu pela resposta.

Olha, só pode ser brincadeira, ainda não deu certo. Neste exato momento estou me sentindo limitado kkkkk.

A mensagem de erro é essa: android.content.res.Resources$NotFoundException: Resource ID #0x7f0b0024 type #0x12 is not valid.

To inicializando o adapter assim:

	    	cursor.moveToFirst();
	    	ArrayList&lt;SearchObject&gt; so = new ArrayList&lt;SearchObject&gt;();
	    	ListView lv = new ListView(this);
	    	cursor.moveToFirst();
	    	int count = 0;
	    	while(!(cursor.isLast()) && count &lt; 6){
	    		if(!(cursor.isFirst()))
	    			cursor.moveToNext();
	    		so.add(new SearchObject(cursor.getString(1)));
	    		count++;
	    	}
	    	lv.setAdapter(new SearchAdapter(this, R.id.layoutSearch, so));

No seu codigo vc ta ultilizando qual View no adapter ? e um Linear ou um list no xml ?

Desde já agradeco

No getView do Adapter estou inflando um XML que é um LinearLayout que representa cada linha da tabela.

Olá pessoal. Resolvi o problema. O problema é que eu estava ultilizando o id do LinearLayout para inicializar o ArrayAdapter, mas era pra ultilizar o R.layout.layout para ele inflar por direto no view ele da erro igual a esse: android.content.res.Resources$NotFoundException: Resource ID #0x7f0b0024 type #0x12 is not valid.