Solucionado (ver solução)
Solucionado
(ver solução)
9
respostas

Dúvida no Ex. 4 da Aula 1 - Novo projeto de uma Agenda

A View está ignorando o primeiro item do Array.

Só aparece do Ronaldo para frente.

package br.com.valhalla.agenda;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class ListaAlunosActivity extends AppCompatActivity {
    private ListView listaAlunos;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_lista_alunos);

        String[] alunos = {"Daniel", "Ronaldo", "Jeferson", "Felipe"};


        listaAlunos = (ListView) findViewById(R.id.lista_alunos);
        ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, alunos);
        listaAlunos.setAdapter(adapter);
    }
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ListView
        android:id="@+id/lista_alunos"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>
9 respostas

Oi Ulisses, tudo bem?

Posta aqui o código do seu AndroidManifest.xml?

Eu estou usando aqui a versão do 1.5 do Android Studio. Quando eu segui os passos da aula, ele gerou, dentro da pasta layout dois arquivos: content_lista_alunos.xml e activity_lista_alunos.xml. Com você também ocorreu algo do tipo?

Abraço.

Segue o AndroidManifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="br.com.valhalla.agenda">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".ListaAlunosActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Sim, ele também gerou dois .XML no layout. Eu não tinha reparado. O setContentView estava usando o arquivo que eu não tinha modificado. Agora deu certo. Sabe o pq de ter gerado dois .XML?

Oi Ulisses, não sei dizer... O Android costuma ter essas mudanças, tanto de API como entre as versões da IDE.

Mas eu vou pesquisar e se encontrar algo eu aviso aqui, combinado?

Abraço!

Estou com esse problema, por que foi marcado como solucionado se a solução não consta aqui?

Vanessa, a solução foi verificar os dois arquivos xml que são gerados automáticamente no layout. Minha activity estava setada para um arquivo, mas o listView estava declarado em outro. Quando corrigi isso, minha aplicação funcionou corretamente.

solução!

Obrigada, Ulisses. Eu fiz tudo o que você fez e continuei tendo o problema, por isso achei que não estava resolvido. Acabou de me ocorrer, porém, que eu modifiquei uma coisa: quando vi que o Android Studio gerou dois arquivos xml, sendo um include do outro, fiz um merge desses arquivos para continuar seguindo as aulas como no exemplo dado. Era exatamente isso que estava dando problema, se a gente usar um arquivo apenas, a actionBar sobrepõe o primeiro item da lista. Deixo aqui registrada essa observação, caso mais alguém tenha a ideia de fazer o que eu fiz.

Oi to parado nessa parte, do curso, e a solução que deram ai de trocar o setContentView não deu certo pra mim, queria saber se tem alguma coisa a mais para fazer, para que o primeiro item apareça.

Flávio, criar uma nova empty activity invés de blank activity e refaz o exercício com ela. Acho q vai resolver. Tente sempre usar a empty activity.

Deu certo criar um novo projeto em empty activity, mas também descobri que se você acrescentar um android:paddingTop="60dp" no seu layout também resolve, mas sua estratégica de criar um novo projeto e mais elegante mesmo.