web-dev-qa-db-fra.com

setContentView (R.layout.main); Erreur

package com.elfapp;
import Android.app.Activity;
import Android.content.Intent;
import Android.os.Bundle;
import Android.util.Log;
import Android.view.View;
import Android.view.View.OnClickListener;
import Android.widget.Button;
import Android.widget.EditText;
import Android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener {

    private Button btn_Login;
    private EditText et_UserName;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        btn_Login = (Button) findViewById(R.id.button_login);
        btn_Login.setOnClickListener(this);

        et_UserName = (EditText) findViewById(R.id.editText_userName);
    }

    public void onClick(View v) {
        if (v.equals(btn_Login)) {
                // skriver ut en toast när man klickar på knappen
            Toast.makeText(MainActivity.this, "Ansluter till server...", Toast.LENGTH_SHORT).show();

                // används i debuggern för att påvisa att programmet exekverat hit
            Log.v("ThisApp", "onClick Successful");

                // TODO skickar det som står i et_UserName till controller (genom TCP/IP), som ska kolla om användaren finns
            // send et_UserName.getText().toString() to controller

                // if(username exists)
            Intent intent = new Intent(this, RoomActivity.class);
            this.startActivity(intent);
        }
    }

}

Je reçois une erreur sur la ligne contenant setContentView(R.layout.main); Je ne suis pas sûr de l'erreur/exception, car je ne suis pas habitué à travailler dans Eclipse ..

8
Petrus K.

Il suffit de prendre 2 mesures pour que le problème soit plus facilement résolu:

Étape 1: Nettoyez votre projet en cliquant sur Projet -> Nettoyer.

Étape 2: Reconstruisez votre projet en cliquant sur Projet -> Tout construire.

Assurez-vous également que vos fichiers XML de mise en page ne contiennent pas d'erreur de syntaxe et que vous n'avez aucune image dont le nom est non acceptable (par exemple, un "-" entre le nom de l'image).

Aussi, je vous demande de regarder la fenêtre des problèmes et de me laisser savoir quelles erreurs y sont affichées.

13
necixy

Cela m'est arrivé il y a une minute, mais après des recherches, et lu ce post, je le remarque.

Il existe une classe R personnalisée avec votre nom d'application. Par conséquent, lorsque vous essayez d'importer la classe manquante (dans Eclipse, appuyez sur Ctrl + Maj + O pour importer les classes manquantes (Cmd + Maj + O sur Mac)), vous devriez voir classe la normale:

import Android.R;

Et une classe personnalisée avec votre espace de noms de projet:

import com.yourname.yourapp.R;

Si vous choisissez la classe personnalisée, le problème est résolu!

15

Utilisation de NetBeans 7.0:

Si vous corrigez les importations avant que R.Java ait été généré pour votre projet (avant de le construire pour la première fois), il ajoutera la ligne suivante: 

import Android.R;

qui remplacera le R.Java local que vous essayez de référencer. 

La suppression de cette ligne a résolu les erreurs pour moi.

4
David

Étape 1 : importer Android. *;

Étape 2 : nettoie ton projet

Étape 3 : Prendre plaisir !!!

3
NikeCon

si vous avez plusieurs paquets avec des classes différentes, alors ce sera confus: essayez ceci:

import package_name_from_AndroidManifest.R;

1
Vinod Joshi

utiliser le code: setContentView (R.layout.activity_main); au lieu de setContentView (R.layout.main);

0
Gaurav Kumar

Simplement:

  1. Faites un clic droit sur votre projet.

  2. Aller aux propriétés.

  3. Sélectionnez Android (deuxième option dans le panneau de gauche). 

  4. Cliquez sur "ajouter ..." (dans la bibliothèque), sélectionnez votre projet.

  5. Cliquez sur OK.

  6. Et enfin, nettoyez votre projet.

Si cela ne fonctionne pas, assurez-vous que "Android-support-v7-appcompat" se trouve dans votre explorateur de projet.

Si ce n'est pas le cas, vous pouvez l'ajouter en important un projet simple à partir de: C:/Android-sdks\extras\Android\support\v7\appcompat 

0

Ce problème se produit généralement si Eclipse compile accidentellement le fichier main.xml de manière incorrecte . La solution la plus simple consiste à supprimer R.Java dans le répertoire gen . Une fois supprimé, Eclipse générera la nouvelle base R.Java à la dernière main.xml

0
Vanmen

est-ce déjà résolu?

j'ai aussi eu ce problème. Je l'ai résolu juste en nettoyant le projet.

Projet> Nettoyer> Nettoyer les projets sélectionnés ci-dessous> Vérifier [nom de votre projet]

0
CMA