Saltar para conteúdo


Foto
- - - - -

Lista dentro do Layout


  • Por favor inicie sessão para responder
14 respostas a este tópico

#1 rui.pereira

rui.pereira

    Membro

  • Membros
  • PipPip
  • 78 mensagens

Mensagem publicada 11 May 2010 - 06:56

boas pessoal,a minha dúvida é... tenho um layout e la po meio quero por uma lista de layouts... vou dizer-vos ao certo o que pretendo.. tenho uma app no market.. faço um comentario.. apenas um comentario e possivel por utilizador.. embora possa ser alterado.. o que eu quero e mostrar todos os comentarios de todos os utilizadores.. e para cada comentario vou ter um layout onde consta o nome dele.. a votacao que deu e por baixo o seu comment.. como posso fazer isso ? eu listei todas as apps numa tabhost.. assim e mais facil.. no meio do layout nao sei como o posso fazer.. alguem me consegue ajudar ? dps da barra que diz comentarios.. queria que aparecesse la todos os comentarios.. Imagem colocada

#2 r3pek

r3pek

    Guru de Android

  • Former Staff
  • PipPipPipPipPip
  • 1560 mensagens
  • LocalizaçãoBA4 - Terceira - Açores
  • Nexus One + Motorola XOOM

Mensagem publicada 11 May 2010 - 08:34

rui.pereira escreveu:

boas pessoal,a minha dúvida é... tenho um layout e la po meio quero por uma lista de layouts... vou dizer-vos ao certo o que pretendo.. tenho uma app no market.. faço um comentario.. apenas um comentario e possivel por utilizador.. embora possa ser alterado.. o que eu quero e mostrar todos os comentarios de todos os utilizadores.. e para cada comentario vou ter um layout onde consta o nome dele.. a votacao que deu e por baixo o seu comment.. como posso fazer isso ? eu listei todas as apps numa tabhost.. assim e mais facil.. no meio do layout nao sei como o posso fazer.. alguem me consegue ajudar ? dps da barra que diz comentarios.. queria que aparecesse la todos os comentarios..

Usa uma ListView?! Podes por uma onde quiseres no meio do layout que quiseres...

#3 rui.pereira

rui.pereira

    Membro

  • Membros
  • PipPip
  • 78 mensagens

Mensagem publicada 11 May 2010 - 11:11

e na listView posso por layout la dentro ?tipooutra questao... eu tenho um layout.. chamado rating.. que é akele que veem na figura.. no sitio onde quero por uma lista.. ponho no xml uma listview.. apenas certo ?dps crio outro layout para desenhar cada linha da lista... neste caso vou lhe chamar row.xml.... neste row.xml.. descrevo como quero que apareça cada linha, certo ?dps no java fiz isto :
lst_comment = db.getallcommentslist(apkid);				 List<Map<String, Object>> result = new ArrayList<Map<String, Object>>();         Map<String, Object> apk_line;		 		for (Comment node: lst_comment){			apk_line = new HashMap<String, Object>();			apk_line.put("deviceid", node.deviceid);  			apk_line.put("rating", node.rat);			apk_line.put("comment", node.comment);			result.add(apk_line);		}		 SimpleAdapter show_out = new SimpleAdapter(Voting.this, result, R.layout.row,          		new String[] {"deviceid", "rating", "comment",}, new int[] {R.id.device, R.id.rating, R.id.comment});                  show_out.setViewBinder(new Voting.LstBinder());                   ls.setAdapter(show_out);
estoura nesta ultima linha... 05-11 13:58:20.430: ERROR/AndroidRuntime(890): Caused by: java.lang.NullPointerExceptionaxu k assim percebes melhor... onde estou a errar ?

#4 r3pek

r3pek

    Guru de Android

  • Former Staff
  • PipPipPipPipPip
  • 1560 mensagens
  • LocalizaçãoBA4 - Terceira - Açores
  • Nexus One + Motorola XOOM

Mensagem publicada 11 May 2010 - 20:04

rui.pereira escreveu:

e na listView posso por layout la dentro ?tipo

Não. O "formato" da listview defines à parte como tens em baixo.

outra questao... eu tenho um layout.. chamado rating.. que é akele que veem na figura.. no sitio onde quero por uma lista.. ponho no xml uma listview.. apenas certo ?dps crio outro layout para desenhar cada linha da lista... neste caso vou lhe chamar row.xml.... neste row.xml.. descrevo como quero que apareça cada linha, certo ?dps no java fiz isto :

lst_comment = db.getallcommentslist(apkid);				 List<Map<String, Object>> result = new ArrayList<Map<String, Object>>();         Map<String, Object> apk_line;		 		for (Comment node: lst_comment){			apk_line = new HashMap<String, Object>();			apk_line.put("deviceid", node.deviceid);  			apk_line.put("rating", node.rat);			apk_line.put("comment", node.comment);			result.add(apk_line);		}		 SimpleAdapter show_out = new SimpleAdapter(Voting.this, result, R.layout.row,          		new String[] {"deviceid", "rating", "comment",}, new int[] {R.id.device, R.id.rating, R.id.comment});                  show_out.setViewBinder(new Voting.LstBinder());                   ls.setAdapter(show_out);
estoura nesta ultima linha... 05-11 13:58:20.430: ERROR/AndroidRuntime(890): Caused by: java.lang.NullPointerExceptionaxu k assim percebes melhor... onde estou a errar ?

Não sei o k faz akele setViewBinder pk nunca o usei, nem no GuiaTV nem no Farmácias, portanto deve ser superfulo (mas confirma claro, tou a falar de cor).Em relação a dar null, executa o projecto em modo de debug e tenta perceber o k é k é null. possivelmente, nalguma linha onde não tenhas comentários ou isso, ele irá tar a passar algum parametro como null k não deve.Não sei se já viste, mas tenta ver o código o GuiaTV e como uso...

#5 rui.pereira

rui.pereira

    Membro

  • Membros
  • PipPip
  • 78 mensagens

Mensagem publicada 12 May 2010 - 07:36

o binder e por causa do ratingbar.. sem ele.. nao e possivel por o ratingbar na linha.. ja consegui por a funcionar.. mas agr surgiu outro problema.. neste momento tenhu dois comentarios.. que cabem perfeitamente naquele espaço... mas a lista ocupa so X espaço e nao todo para baixo como quero.. ja pus "fill_parent" no xml e msm assim nao muda.. este e o codigo da listview:
<ListView    android:id="@+id/android:list"    android:layout_width="fill_parent"    android:layout_height="fill_parent"   	/>
e este o aspecto da lista:Imagem colocadacomo podes ver a lista tem akele scroll de lado que nao queria que tivesse...

#6 r3pek

r3pek

    Guru de Android

  • Former Staff
  • PipPipPipPipPip
  • 1560 mensagens
  • LocalizaçãoBA4 - Terceira - Açores
  • Nexus One + Motorola XOOM

Mensagem publicada 12 May 2010 - 07:48

rui.pereira escreveu:

o binder e por causa do ratingbar.. sem ele.. nao e possivel por o ratingbar na linha..

Nice, não sabia :( Normalmente preenchia "à mão" dentro da SimpleListAdapter

ja consegui por a funcionar.. mas agr surgiu outro problema.. neste momento tenhu dois comentarios.. que cabem perfeitamente naquele espaço... mas a lista ocupa so X espaço e nao todo para baixo como quero.. ja pus "fill_parent" no xml e msm assim nao muda.. este e o codigo da listview:

<ListView    android:id="@+id/android:list"    android:layout_width="fill_parent"    android:layout_height="fill_parent"   	/>

O problema não estará aqui, mas acima. se o "parent" estiver com wrap_content, esse mesmo k esteja fill_parent não estica mais k isso...

#7 rui.pereira

rui.pereira

    Membro

  • Membros
  • PipPip
  • 78 mensagens

Mensagem publicada 12 May 2010 - 08:12

todos os layouts que tenho por 'cima' da listview tem fill_parent no height.. e msm assim nada.. se eu pusser na listview um valor... tipo 50px ou 100px ele aumenta.. nao percebo pq nao aumenta com fill_parent..

#8 r3pek

r3pek

    Guru de Android

  • Former Staff
  • PipPipPipPipPip
  • 1560 mensagens
  • LocalizaçãoBA4 - Terceira - Açores
  • Nexus One + Motorola XOOM

Mensagem publicada 12 May 2010 - 08:23

rui.pereira escreveu:

todos os layouts que tenho por 'cima' da listview tem fill_parent no height.. e msm assim nada.. se eu pusser na listview um valor... tipo 50px ou 100px ele aumenta.. nao percebo pq nao aumenta com fill_parent..

Mete aí o layout todo...

#9 rui.pereira

rui.pereira

    Membro

  • Membros
  • PipPip
  • 78 mensagens

Mensagem publicada 12 May 2010 - 08:52

<?xml version="1.0" encoding="UTF-8"?>	<LinearLayout		xmlns:android="http://schemas.android.com/apk/res/android"		android:layout_width="fill_parent"		android:layout_height="fill_parent" android:orientation="vertical">	<ScrollView android:id="@+id/ScrollView01" android:layout_height="fill_parent" android:layout_width="fill_parent" android:layout_weight="1">		<LinearLayout		    xmlns:android="http://schemas.android.com/apk/res/android"		    android:id="@+id/vw"		    android:layout_width="wrap_content"		    android:layout_height="fill_parent"		    android:orientation="vertical"> 		<LinearLayout		    xmlns:android="http://schemas.android.com/apk/res/android"		    android:id="@+id/vw1"		    android:layout_width="wrap_content"		    android:layout_height="fill_parent"		    android:orientation="horizontal">    				    <ImageView android:id="@+id/appicon"		        android:layout_width="50px"		        android:layout_height="50px"		        android:cropToPadding ="true"		        android:scaleType = "centerInside" />				    <LinearLayout		        android:layout_width="fill_parent"		        android:layout_height="50px"		        android:orientation="horizontal">						         <TextView android:id="@+id/name"		            android:textSize="21sp"		            android:textStyle="bold"		            android:singleLine="true"		            android:layout_width="wrap_content"		            android:layout_height="50px"		            android:gravity="center_vertical"/>		        		        <RelativeLayout		        	android:layout_width="fill_parent"		        	android:layout_height="50px"		        	android:orientation="horizontal">		        			          <RatingBar android:id="@+id/rating"		        		style="?android:attr/ratingBarStyleSmall"		        		android:numStars="5"		        		android:layout_width="wrap_content"		        		android:layout_height="wrap_content"		        		android:isIndicator="true"		        		android:layout_alignRight="@+id/nvotes"		        		android:layout_below="@+id/nvotes"/>		           						        <TextView android:id="@+id/nvotes"		            android:textSize="12sp"		            android:layout_width="fill_parent"		            android:layout_height="wrap_content"		            android:layout_marginTop="12px"		            android:layout_marginRight="5px"		             android:gravity="right"/>				        </RelativeLayout>    		            		     </LinearLayout>     </LinearLayout> 	<TableLayout android:id="@+id/TableLayout01" android:layout_height="wrap_content" android:layout_width="fill_parent" android:stretchColumns="1"><View android:layout_height="2dip" android:background="#FF909090" android:layout_marginTop="10dip"></View></TableLayout><LinearLayout android:id="@+id/vote" android:layout_height="wrap_content" android:layout_width="fill_parent" android:orientation="vertical" android:gravity="center">          <RatingBar android:id="@+id/rating2"          		style="?android:attr/ratingBarStyleIndicator"        		android:numStars="5"        		android:layout_width="wrap_content"        		android:layout_height="wrap_content"/>        		        	<TextView android:id="@+id/rateit"        	android:text="Clique para Votar!"            android:textSize="12sp"            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:gravity="center"/>        	</LinearLayout><TableLayout android:id="@+id/TableLayout01" android:layout_height="wrap_content" android:layout_width="fill_parent" android:stretchColumns="1"><View android:layout_height="2dip" android:background="#FF909090" android:layout_marginTop="10dip"></View></TableLayout>	<TextView android:id="@+id/mycomment"		 	android:text="O meu comentário:"            android:textSize="12sp"            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:gravity="left"            android:enabled="false"            android:background="#FF909090"            android:textColor="#FFFFFF"            android:layout_marginTop="10dip"/>	<TextView 	android:id="@+id/commentit"				android:text="Deixe o seu comentário..."            	android:textSize="20sp"            	android:layout_width="fill_parent"            	android:layout_height="wrap_content"            	android:gravity="left"            	android:enabled="false"            	android:layout_marginTop="10dip"/>  <TextView 	android:text="Comentários:"            android:textSize="12sp"            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:gravity="left"            android:background="#FF909090"            android:textColor="#FFFFFF"            android:layout_marginTop="10dip"/><ListView 		android:id="@+id/android:list"    			android:layout_width="fill_parent"    			android:layout_height="fill_parent"/>    			 </LinearLayout>				</ScrollView>			<LinearLayout android:id="@+id/LinearLayout02" android:layout_height="wrap_content" android:layout_width="fill_parent">			<Button android:layout_height="wrap_content" android:layout_weight="1" android:id="@+id/in" android:layout_width="fill_parent"></Button>			<Button android:layout_height="wrap_content" android:layout_weight="1" android:id="@+id/bOk" android:text="Ok" android:layout_width="fill_parent"></Button>		</LinearLayout>	</LinearLayout>
obrigado pela ajuda :(

#10 r3pek

r3pek

    Guru de Android

  • Former Staff
  • PipPipPipPipPip
  • 1560 mensagens
  • LocalizaçãoBA4 - Terceira - Açores
  • Nexus One + Motorola XOOM

Mensagem publicada 12 May 2010 - 10:56

rui.pereira escreveu:

obrigado pela ajuda :D

Nada :)Mas realmente não estou a ver o k pode provocar isso :( tnh k tentar importar isso no eclipse para ver...BTW, não precisas de por a View dentro duma tablelayout :P

#11 rui.pereira

rui.pereira

    Membro

  • Membros
  • PipPip
  • 78 mensagens

Mensagem publicada 12 May 2010 - 11:06

mas senao puser nao aparece... a view é akela risca que tenho a separar as cenas... vou dar umas vista de olhos no guiatv.. pode ser k encontre algo.. ja vi mto pessoal com a msm duvida que eu em foruns internacionais.. e ainda nao conseguiram resolver a questao :(

#12 r3pek

r3pek

    Guru de Android

  • Former Staff
  • PipPipPipPipPip
  • 1560 mensagens
  • LocalizaçãoBA4 - Terceira - Açores
  • Nexus One + Motorola XOOM

Mensagem publicada 12 May 2010 - 11:08

rui.pereira escreveu:

mas senao puser nao aparece... a view é akela risca que tenho a separar as cenas... vou dar umas vista de olhos no guiatv.. pode ser k encontre algo.. ja vi mto pessoal com a msm duvida que eu em foruns internacionais.. e ainda nao conseguiram resolver a questao :D

O GuiaTV tem essa View e não está dentro de nenhum TableLayout especifico só para ele. Tá dentro dum table layout global. Agora se funcionar só assim é que é estranho :P Mas realmente nunca tentei fora. Simplesmente falei porque me parecia "óbvio" :(

#13 rui.pereira

rui.pereira

    Membro

  • Membros
  • PipPip
  • 78 mensagens

Mensagem publicada 12 May 2010 - 11:33

a unica cena diferente no teu.. ek chamas de maneira diferente... la com os run e as threads... o meu codigo ta mto academico.. xDmas n pode ser por causa disso....

#14 r3pek

r3pek

    Guru de Android

  • Former Staff
  • PipPipPipPipPip
  • 1560 mensagens
  • LocalizaçãoBA4 - Terceira - Açores
  • Nexus One + Motorola XOOM

Mensagem publicada 12 May 2010 - 11:35

rui.pereira escreveu:

a unica cena diferente no teu.. ek chamas de maneira diferente... la com os run e as threads... o meu codigo ta mto academico.. xDmas n pode ser por causa disso....

Claro... layout é layout :(

#15 rui.pereira

rui.pereira

    Membro

  • Membros
  • PipPip
  • 78 mensagens

Mensagem publicada 12 May 2010 - 12:58

o erro esta no layout.. agora onde.. pois nao sei.. xDmas eu testei noutra lista que tenho meter akela 'row' e deu.. portanto.. vou tentar fazer o layout de novo.. :( eu n sou designer.. porra.. :Sedit: ja descobri o problema... mas nao sei resolve lo... o problema esta na scroll view.. nao sei pk.. se eu a tirar.. mto bem.. aparece tudo direitinho.. se a puser a lista fica com akele problema.. eu queria por akeles dois botoes smp ali a mao de semear.. junto ao fundo.. da para o fazer sem a scrollview ? parece que ta a entrar em conflito com a listview...conclusao.. nao da para por uma listview dentro duma scroll view...