Faire un programme de calculatrice pour android et j'ai un fichier xml qui a tous les boutons nécessaires pour écrire le programme. Il apparaît dans la partie design d'android studio, mais quand j'essaye d'exécuter mon application sur un téléphone android (pas un émulateur, il tourne trop lentement sur mon pc), ça provoque juste un crash. Je ne sais pas pourquoi.setContentView (R.layout.activity_main) provoque le plantage de l'application
Ceci est mon fichier xml:
<?xml version="1.0" encoding="utf-8"?>
<layout>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnCount="4"
android:rowCount="7"
tools:context="com.example.pvtboromeo.calc.MainActivity">
<EditText
android:id="@+id/editText"
android:background="@android:color/black"
android:textColor="#FFFFFF"
android:layout_row="0"
android:layout_column="0"
android:layout_columnSpan="4"
android:layout_rowSpan="2"
android:layout_rowWeight="2"
android:layout_columnWeight="4"
android:enabled="false"
android:gravity="bottom|right"
android:paddingRight="15sp"
android:paddingBottom="15sp"
android:textAlignment="gravity"
android:textSize="40sp"/>
<Button
android:id="@+id/buttonC"
android:layout_column="0"
android:layout_columnWeight="1"
android:layout_row="2"
android:layout_rowWeight="1"
android:background="@drawable/button_border"
android:text="C"
android:textSize="20sp" />
<Button
android:id="@+id/buttonNegative"
android:layout_row="2"
android:layout_column="1"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:background="@drawable/button_border"
android:text="+/-"
android:textSize="20sp"/>
<Button
android:id="@+id/buttonPercent"
android:layout_row="2"
android:layout_column="2"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:background="@drawable/button_border"
android:text="%"
android:textSize="20sp"/>
<Button
android:id="@+id/buttonDivide"
android:layout_row="2"
android:layout_column="3"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:background="@drawable/button_border2"
android:text="/"
android:textSize="20sp"/>
<Button
android:id="@+id/buttonSeven"
android:layout_row="3"
android:layout_column="0"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:background="@drawable/button_border"
android:text="7"
android:textSize="20sp" />
<Button
android:id="@+id/buttonEight"
android:layout_row="3"
android:layout_column="1"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:background="@drawable/button_border"
android:text="8"
android:textSize="20sp"/>
<Button
android:id="@+id/buttonNine"
android:layout_row="3"
android:layout_column="2"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:background="@drawable/button_border"
android:text="9"
android:textSize="20sp"/>
<Button
android:id="@+id/buttonMultiply"
android:layout_row="3"
android:layout_column="3"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:background="@drawable/button_border2"
android:text="X"
android:textSize="20sp"/>
<Button
android:id="@+id/buttonFour"
android:layout_row="4"
android:layout_column="0"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:background="@drawable/button_border"
android:text="4"
android:textSize="20sp" />
<Button
android:id="@+id/buttonFive"
android:layout_row="4"
android:layout_column="1"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:background="@drawable/button_border"
android:text="5"
android:textSize="20sp"/>
<Button
android:id="@+id/buttonSix"
android:layout_row="4"
android:layout_column="2"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:background="@drawable/button_border"
android:text="6"
android:textSize="20sp"/>
<Button
android:id="@+id/buttonSubtract"
android:layout_row="4"
android:layout_column="3"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:background="@drawable/button_border2"
android:text="-"
android:textSize="20sp"/>
<Button
android:id="@+id/buttonOne"
android:layout_row="5"
android:layout_column="0"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:background="@drawable/button_border"
android:text="1"
android:textSize="20sp" />
<Button
android:id="@+id/buttonTwo"
android:layout_row="5"
android:layout_column="1"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:background="@drawable/button_border"
android:text="2"
android:textSize="20sp"/>
<Button
android:id="@+id/buttonThree"
android:layout_row="5"
android:layout_column="2"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:background="@drawable/button_border"
android:text="3"
android:textSize="20sp"/>
<Button
android:id="@+id/buttonAdd"
android:layout_row="5"
android:layout_column="3"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:background="@drawable/button_border2"
android:text="+"
android:textSize="20sp"/>
<Button
android:id="@+id/buttonZero"
android:layout_column="0"
android:layout_columnSpan="2"
android:layout_columnWeight="2"
android:layout_row="6"
android:layout_rowWeight="1"
android:background="@drawable/button_border"
android:text="0"
android:textSize="20sp" />
<Button
android:id="@+id/buttonDecimal"
android:layout_row="6"
android:layout_column="2"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:background="@drawable/button_border"
android:text="."
android:textSize="20sp"/>
<Button
android:id="@+id/buttonEquals"
android:layout_row="6"
android:layout_column="3"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:background="@drawable/button_border2"
android:text="="
android:textSize="20sp"/>
</GridLayout>
</layout>
Et ceci est mon fichier java
package com.example.pvtboromeo.calc;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
Sans le code setContentView, mes runs app mais rien ne s'affiche (évidemment), mais maintenant mes application se bloque quand j'essaie de l'exécuter. L'erreur dit juste 'Malheureusement, Calc + s'est arrêté.'
Je suis nouveau sur le développement android. Est-ce que je manque quelque chose? Toute ma syntaxe semble être bonne.
Note: J'ai également vérifié si android.R a été importé au lieu de mon colis R, mais ce n'est pas là ...
Edit: Je suis donc tout foiré autour d'un projet de test et a découvert que c'est GridLayout qui provoque le crash de l'application. Je cours en utilisant Android 5.1.1 (Lolipop) pas sûr si cela aide ou non. Je crois que c'est l'api 22. Y a-t-il un moyen de résoudre ce problème?
Il serait utile si vous pouviez ajouter la trace de la pile. –
J'ai effectivement résolu le problème en supprimant les balises au début et à la fin. –
Vince