TableRow em ListView

Tive alguma dificuldades em conseguir montar uma lista com dados dinâmicos dentro de uma tabela em Android.
Não sei se é a melhor maneira de fazer isso mas funcionou beleza aqui…entaão fica aí a ideia do que foi feito se alguem passar por isso

public class MyArrayAdapter extends ArrayAdapter<Resultado> {
	private final Context context;
	private final ArrayList<Resultado> listaResultado;

	public MyArrayAdapter(Context context, ArrayList<Resultado> listaResultado) {
		super(context, R.layout.tela2, listaResultado);
		this.context = context;
		this.listaResultado = listaResultado;
	}

	
	@Override
	public View getView(int position, View convertView, ViewGroup parent) {

		LayoutInflater inflater = (LayoutInflater) context
				.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
		View tela2 = inflater.inflate(R.layout.tela2, parent, false);

		

			Resultado resultado = listaResultado.get(position);

			TextView textView = (TextView) tela2
					.findViewById(R.id.nomeEmpresaID);
			TextView textView1 = (TextView) tela2.findViewById(R.id.valor1ID);
			TextView textView2 = (TextView) tela2.findViewById(R.id.valor2ID);
			TextView textView3 = (TextView) tela2.findViewById(R.id.motivoID);
			ImageView imageView = (ImageView) tela2.findViewById(R.id.lay1);
			textView.setText(resultado.getRazaoEmp());
			textView1.setText(resultado.getRazaoClt());
			textView2.setText(resultado.getCodigoEmp());
			textView3.setText(resultado.getMotivBloq());

			String s = resultado.getBloqueado();
			if (s.equalsIgnoreCase("t")) {
				imageView.setImageResource(R.drawable.error);
			} else {
				imageView.setImageResource(R.drawable.check);
			}


		return tela2;
	}
}

Eu prefiro fazer adapter’s que herdam de BaseAdapter. :slight_smile:
Mas esse seu código ficou legal.

Olá.
O for não é necessário nesse caso.
Não sei se notou, mas ele não está ativo devido a uma falha de digitação!
Veja: for (int postion = 0; position < listaResultado.size(); position++) {

Está: “int postion = 0”

PS: Se fosse necessário, o código precisaria de uma revisão. Você está dando um "return’ dentro do loop.

Abraços

Exato, o for é desnecessário porque o método getView será chamado para cada elemento.

Outro detalhe importante: para melhorar o desempenho, você deve evitar a chamada ao método inflate se desnecessário.

O parâmetro convertView serve justamente para isso, ele te retorna uma View previamente utilizada, desse modo você pode utilizá-la ao invés de construir outro objeto. Por exemplo:

View tela 2 = convertView;

if (tela2 == null) {
        LayoutInflater inflater = (LayoutInflater) context  
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);  
        tela2 = inflater.inflate(R.layout.tela2, parent, false);  
}
// restante do codigo

Desse modo vc so chama o inflate se necessário, tendo um ganho em desempenho muito grande!

Falou.

Esse for somente não é necessario como também ta meio inutil no seu codigo.

Já que ele vai pegar o item da position e retornar na primeira iteração.

Opá valeu Pessoal pela correção e pelas dicas… a alegria de ver o código funcionando foi tanta que nem tive tempo de dar uma melhorada…erros corrigidos!!

E se o nome da figura a mostrar no setImageResource estivesse numa variável, como fica o comando? Pesquisei e não localizei

Olá pessoal to começando a programar em Android agora, e estou com uma dificuldade em ListView e nova tela(fragmentos).

É o seguinte, tenho uma Tela1 (fragmento), com varios Checkboxs, nesta Tela1 o usuário vai selecionar os que ele quer, e depois clicar num Button com nome avançar, fazendo assim abrir uma nova tela (fragmento), onde nesta nova tela que iremos chamar de Tela2, irá aparecer outros Checkboxs que serão os subitens de cada Checkbox selecionado na Tela1.

OU SEJA, os Checkboxs da Tela1 são como se fosse “categorias”, e ao selecionar elas deve na Tela2 aparecer as “subcategorias” delas também para selecionar em formato de Checkbox.

COMO FAÇO pra criar estas Telas (Fragmentos) que interagem (avançando e voltando)?
E como faço pra a informações (subcategorias) do meus checkboxs selecionados na Tela1 apareçam na Tela2 em formato de checkbox?

P.S.: lembrando que posso selecionar de um à varios checkboxs, que são as categorias [na Tela1], e cada um delas tem de 1 à varios subcategorias que irão aparecer na segunda tela [Tela2] (somente as das categorias selecionadas) como checkboxs.