2011-05-31 2 views
0

Bonjour, il ya des gens de débordement de pile, je viens de commencer à développer avec android et ont rencontré un petit problème. J'essaye d'exécuter une application très simple qui a un seul bouton, qui une fois cliqué met à jour le texte à l'heure actuelle. Cependant, l'application ne démarre même pas. Je suis un livre. "Commencer Android 2", et je suis en train d'apprendre sur les mises en page XML. La même application a fonctionné sans une mise en page XML, donc cela peut être quelque chose à voir avec mon XML.Simple application Android échoue sans démarrer

De toute façon, je l'utilise sur un droid 2, si cela peut vous aider.

Indique les codes.

package apt.tutorial; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import java.util.Date; 

public class FirstApp extends Activity implements View.OnClickListener { 
    /** Called when the activity is first created. */ 
    Button btn; 

    @Override 
    public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 

     setContentView(R.layout.main); 

     btn = (Button)findViewById(R.id.button); 
     btn.setOnClickListener(this); 
     updateTime(); 
    } 

    public void onClick(View view) { 
     updateTime(); 
    } 

    private void updateTime() { 
     btn.setText(new Date().toString()); 
    } 
} 

et le fichier XML

<Button xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/button" 
    android:text="" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    /> 

Merci à l'avance.

+0

Dans l'avenir , lorsque vous avez des problèmes et que vous souhaitez de l'aide, veuillez inclure la sortie de 'adb logcat *: D' lorsque vous rencontrez le problème. Avec cette information, cela réduira le nombre de devinettes qui doivent servir à fournir des réponses. –

+0

@Nick Got it, va faire! –

Répondre

2

Vous devez placer le bouton dans une mise en page (linéaire, par rapport, etc.):

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" > 
    <Button xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/button" 
    android:text="" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    /> 
</LinearLayout> 
+0

Merci beaucoup, le livre ne mentionne pas cela. Je vais accepter dès que possible –

-1

Le problème est que votre mise en page de racine doit être un ViewGroup. Modifiez la disposition à quelque chose comme ceci par exemple:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <Button 
     android:id="@+id/button" 
     android:text="" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"/> 
</LinearLayout> 
0

Les deux réponses sont incorrectes. La seule ligne manquante dans ce xml est le premier:

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

Bien sûr, vous aurez besoin d'une sorte de ViewGroup pour faire une interface significative, mais setContentView peut prendre tout Voir en tant que paramètre

Questions connexes