Programmation Java sur Android Studio...

a marqué ce sujet comme résolu.

Bonjour, alors voilà je débute en Java et avec le logiciel Android Studio. J'ai fait quelques essais d'application sans utilité mais dans le but de m'entraîner et là j'ai un soucis, on m'indique une erreur dans mon programme et j'aurai besoin d'un peu d'aide: (Les erreurs sont en gras et en italique…)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package mon.package;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends ActionBarActivity {

    TextView txtMsg;
    Button BP1;
    Button BP2;





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

        txtMsg=(TextView)findViewById(***R***.id.txtMsg);
        BP1=(Button)findViewById(***R***.id.BP1);
        BP2=(Button)findViewById(***R***.id.BP2);

        BP1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                txtMsg.setText("Chabadabada ! :D");



        BP2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                txtMsg.setText("Bravo!");

                    }
        });

    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(***R***.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == ***R***.id.action_settings) {
            return true;
        }

        return super.***onOptionsItemSelected***(item);
    }
}
+0 -0

Salut,

Quand tu dis que tu débutes en Java, tu veux dire que tu fais de la programmation pour Android, n'est-ce pas ?

Sinon, je vois que tu as beaucoup d'erreurs en rapport avec la classe R. En Android, il s'agit de la classe automatiquement générée contenant des identifiants vers toutes les ressources XML de l'application (plus d'info ici). Apparemment, sur ton projet, la classe R n'a tout simplement pas encore été générée. Je ne sais pas comment fonction Android Studio (perso, j'utilise NetBeans avec le plugin NBAndroid), mais vois si tu peux forcer Android Studio à générer ta classe R.

Peut-être quelqu'un connaît mieux Android Studio que moi, ici ?

Salut,

Je vais compléter la réponse de Richou D. Degenne. Ta classe R (géré par Android) ne semble pas avoir été générée et le cas de figure le plus courant c'est une erreur dans l'un de tes fichiers XML de ton dossier res. Est-ce que tu as beaucoup de ressources ? Si oui, tente de trouver là où tu as fais une erreur. Si non, copie les ici.

Merci déjà pour vos réponses, le voici :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 <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="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
    android:background="@android:color/holo_blue_bright"
   android:id="@+id/Fond">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Bienvenu!"
        android:id="@+id/txtMsg"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="39dp"
        android:singleLine="false"
        style="@android:style/Holo.ButtonBar"
        android:autoText="true"
        android:background="#ffffffff" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="First"
        android:id="@+id/BP1"
        android:layout_marginBottom="133dp"
        android:textColor="#ff3ce8ff"
        android:background="#ffdf50ff"
        android:elevation="@android:dimen/app_icon_size"
        android:onClick="@android:string/ok"
        android:layout_alignParentBottom="true"
        android:layout_toLeftOf="@+id/txtMsg"
        android:layout_toStartOf="@+id/txtMsg" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Second"
        android:id="@+id/BP2"
        android:layout_alignTop="@+id/BP1"
        android:layout_toRightOf="@+id/txtMsg"
        android:layout_toEndOf="@+id/txtMsg" />
 </RelativeLayout>
+0 -0

Bizarre, certaines choses sont un peu étrangement faits mais rien ne devrait poser problème. Est-ce que Android Studio te signal qu'il y a une erreur dans ce layout ? Si non, est-ce que tu peux montrer tes autres fichiers XML dans ton dossier res, je vois dans ton Activity que tu as un menu aussi.

PS : Je me suis permis d'éditer tes messages pour appliquer correctement la couleur syntaxique. N'hésite pas à regarder comment j'ai fais en éditant tes messages.

Voilà le dossier "menu main" :

1
2
3
4
5
6
<menu 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" tools:context=".MainActivity">
    <item android:id="@+id/action_settings" android:title="@string/action_settings"
        android:orderInCategory="100" app:showAsAction="never" />
</menu>
+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte