2014-04-18 3 views
0

Je suis nouveau sur Android, maintenant je veux appuyer sur un bouton puis afficher le texte sur l'écran. voici mon code:afficher le texte après avoir appuyé sur le bouton dans android

xml

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:onClick="sendMessages" 
    android:text="Button" /> 

<TextView 
    android:id="@+id/buttonText" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="bottom" 
    android:ems="10" 
    android:inputType="textMultiLine" 
    android:text="hello" /> 

activité principale

public class MainActivity extends ActionBarActivity { 

    protected void onCreate(Bundle savedInstanceState){ 

     ....... 
    } 

    public void sendMessages(View view) { 
     TextView welcome = (TextView) findViewById(R.id.buttonText); 
      welcome.setText("button clicked"); 

    } 
} 

mais quand je lance ceci sur un simulateur, après avoir appuyé sur le bouton, l'application fera rapport

fortunately, First Android App has stopped 

est-ce que quelqu'un sait ce qui ne va pas avec mon programme?

04-18 00:56:20.147: D/AndroidRuntime(1280): Shutting down VM 
04-18 00:56:20.147: W/dalvikvm(1280): threadid=1: thread exiting with uncaught exception (group=0x40a13300) 
04-18 00:56:20.177: E/AndroidRuntime(1280): FATAL EXCEPTION: main 
04-18 00:56:20.177: E/AndroidRuntime(1280): java.lang.IllegalStateException: Could not execute method of the activity 
04-18 00:56:20.177: E/AndroidRuntime(1280):  at  android.view.View$1.onClick(View.java:3591) 
04-18 00:56:20.177: E/AndroidRuntime(1280):  at  android.view.View.performClick(View.java:4084) 
04-18 00:56:20.177: E/AndroidRuntime(1280):  at android.view.View$PerformClick.run(View.java:16966) 
04-18 00:56:20.177: E/AndroidRuntime(1280):  at android.os.Handler.handleCallback(Handler.java:615) 
04-18 00:56:20.177: E/AndroidRuntime(1280):  at android.os.Handler.dispatchMessage(Handler.java:92) 
04-18 00:56:20.177: E/AndroidRuntime(1280):  at android.os.Looper.loop(Looper.java:137) 
04-18 00:56:20.177: E/AndroidRuntime(1280):  at android.app.ActivityThread.main(ActivityThread.java:4745) 
04-18 00:56:20.177: E/AndroidRuntime(1280):  at java.lang.reflect.Method.invokeNative(Native Method) 
04-18 00:56:20.177: E/AndroidRuntime(1280):  at java.lang.reflect.Method.invoke(Method.java:511) 
04-18 00:56:20.177: E/AndroidRuntime(1280):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
04-18 00:56:20.177: E/AndroidRuntime(1280):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
04-18 00:56:20.177: E/AndroidRuntime(1280):  at dalvik.system.NativeStart.main(Native Method) 
04-18 00:56:20.177: E/AndroidRuntime(1280): Caused by: java.lang.reflect.InvocationTargetException 
04-18 00:56:20.177: E/AndroidRuntime(1280):  at java.lang.reflect.Method.invokeNative(Native Method) 
04-18 00:56:20.177: E/AndroidRuntime(1280):  at java.lang.reflect.Method.invoke(Method.java:511) 
04-18 00:56:20.177: E/AndroidRuntime(1280):  at android.view.View$1.onClick(View.java:3586) 
04-18 00:56:20.177: E/AndroidRuntime(1280):  ... 11 more 
04-18 00:56:20.177: E/AndroidRuntime(1280): Caused by: java.lang.ClassCastException: android.widget.FrameLayout cannot be cast to android.widget.TextView 
04-18 00:56:20.177: E/AndroidRuntime(1280):  at com.example.firstandroidapp.MainActivity.sendMessages(MainActivity.java:110) 
04-18 00:56:20.177: E/AndroidRuntime(1280):  ... 14 more 
+1

après l'erreur complète 'LogCat'. Est-ce que ce bouton existe dans la disposition de l'activité? –

+0

@Hamid Shatu J'ai ajouté la sortie logcat, le bouton apparaît dans la mise en page, mais une fois pressé, l'application va planter :( – user2810081

+1

@ user2810081 nettoyer et construire votre projet – Raghunandan

Répondre

0

Le bouton et le TextView existent-ils dans la structure d'activité? Appellez-vous setContentView (Layout) dans onCreate? Travaillez-vous avec ADT?

Si vous travaillez avec ADT, vous pouvez créer une nouvelle activité et une nouvelle mise en page xml, alors appelez setContentView (R.layout.YourLayout) dans onCreate

YourLayout.xml doit bouton et contient TextView

+0

je l'ai fait tous, mais en examinant le xml je trouve qu'il y a aussi un nom d'utilisateur buttonText, j'ai changé pour un autre id et le problème résolu! Merci! – user2810081

Questions connexes