2012-04-12 9 views
1

Ich versuche, eine App zu machen, in der beim Klicken auf eine Schaltfläche 3 Dinge passieren, 1) Ich höre einen Klick (funktioniert) 2) I erzeugen eine Zufallszahl (kann oder auch nicht) 3) die Zufallszahl wird angezeigt Mein Code ist der folgende:Zeige eine zufällige Ganzzahl in einem EditText-Feld (oder ein anderes Feld, wenn ich mich irre)

package arkham.test2; 

import java.util.Random; 

import android.app.Activity; 
import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.widget.Button; 
import android.widget.EditText; 
import android.view.View; 
import android.view.View.OnClickListener; 

public class Arkhamtest2Activity extends Activity { 
    EditText randomN; 


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

     final MediaPlayer mpClick = MediaPlayer.create(this, R.raw.click); 
     randomN = (EditText) findViewById(R.id.randomN); 

     //button 1 start   
     Button bMythos = (Button) findViewById(R.id.mythos); 
     bMythos.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       mpClick.start(); 
       Random r = new Random(); 
       int n=r.nextInt(6) + 1; 
       randomN.setText(n); 
      } 
     }); 
     //button 1 end 
    } 

} 

Wenn ich auf die Schaltfläche klicken ich höre den Klick, aber sonst nichts passiert. Ich weiß nicht, ob eine Zufallszahl generiert wird, da keine angezeigt wird. Was muss ich in die Klammern von randomM.set() setzen? Ich habe versucht n und nichts passiert. Ich habe versucht, „n“ und bekam die Buchstaben n (erwartet wurde) nicht sicher, was anderes zu versuchen ...

Antwort

4

versuchen ..

randomN.setText(String.valueOf(n)); 

Dies geschieht, weil, wenn Sie einen int-Wert an diese Methode übergeben. Es geht davon aus, dass es sich um eine Ressourcen-ID handelt und nicht um den Wert, den Sie als Text festlegen möchten. also kannst du das nicht machen ...

+0

genial! funktioniert dank! – bribrem

+0

Wenn es funktioniert, markieren Sie die Antwort als akzeptiert, indem Sie auf das Symbol auf der linken Seite der Frage –

+0

musste warten, bis 10 Minuten nach der Antwort, bevor Sie es offenbar akzeptieren - aber jetzt ist es getan worden! – bribrem

Verwandte Themen