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

VÍDEO 5.3 - Problemas no "main.xml"

Em 9:49 ele entra em "main.xml", no meu Android Studio aqui tem dois arquivos xml: "main.xml" e "content_main.xml". Segui o vídeo e entrei no "main.xml", lá não achei a "Text View"(9:52) para tirar, fui achar ela só em "content_main.xml". Mas mesmo assim, escrevi o código do jogo da forca() na main.xml, que ele pediu e apertei em Build Project e não apareceu problemas em Rendering, na aba Design. Dai então recortei o código da main.xml e coloquei na content_main.xml, dei Build Project novamente e também deu problemas na aba Design dessa xml! O que fazer?

7 respostas

Olá Iann,

Você só vai precisar de um arquivo xml de layout para a sua aplicação. Remova o arquivo content_main.xml e coloque o layout exatamente da forma apresentada no vídeo no arquivo main.xml. Depois volte na sua Activity e altere a linha do setContentView(...) para apontar apenas para esse layout:

... onCreate(...) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    ...
}

Certo, consegui achar a Activity em "Main.java", porém como que altera para "apontar apenas para esse layout"? Esse código que você passou, ja está em minha Activity. Segue minha Activity abaixo:

"Main.java", código abaixo:

package br.com.alura.jogodaforca;

import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;

public class Main extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });
    }


}

E também no meu XML, em "", a parte "@layout/content_main" está em vermelho! :( Acho que esta com algum problema! Segue abaixo meu XML:

"main.xml", código abaixo:

````` <?xml version="1.0" encoding="utf-8"?>

````


<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context="br.com.alura.jogodaforca.Main">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay" />

    </android.support.design.widget.AppBarLayout>

    <include layout="@layout/content_main" />

    <br.com.alura.jogodaforca.PlanoCartesianoView
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        android:src="@android:drawable/ic_dialog_email" />

</android.support.design.widget.CoordinatorLayout>
solução!

Olá,

Sua Activity deve ter apenas o código abaixo:

public class Main extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

O arquivo main.xml deve ter o seguinte conteúdo:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="64dp"
    android:paddingRight="64dp"
    android:paddingTop="64dp"
    android:paddingBottom="64dp"
    tools:context="br.com.alura.jogodaforca.Main">

    <br.com.alura.jogodaforca.PlanoCartesianoView
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>

Para evitar esse problema de disparidade com os vídeos, sempre que precisar criar uma nova Activity no Android Studio, selecione a opção Empty Activity e nunca as opções Blank ou Basic Activity que criam um monte de código desnecessário.

Ah sim, entendi. Criei Blank ou Basic Acitivity(não lembro qual) porque o vídeo mandava, mas de agora pra frente, criarei Empty Activity então. Obrigado!

Deu certo, consegui mudando o código igual você mandou!