zufällige bilder mit Button_Klick in die TextView anzeigen

  • 4 Antworten
  • Letztes Antwortdatum
A

azubi

Neues Mitglied
0
Hallo,
ich habe frage bzgl. Android, ich hoffe jemand hilft mir mein Problem zu lösen.

Es muss ein kleines Tool sein, in dem man auf Knopf druckt und jedes Mal bei klicken ändern sich die Bilder. Anschließend müssen die Bilder in TextView angezeigt werde. Ich habe schon Mal angefangen, jedoch komme ab hier nicht mehr weiter.
merci viel Mals

final Random myRandom = new Random();

Button buttonGenerate =(Button)findViewById(R.id.generate);
final TextView textGenerateNumber = (TextView)findViewById(R.id.generatenumber);

int[] cards={R.drawable.ic_launcher, R.drawable.meinBild};


buttonGenerate.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View v) {
ImageView img;
img.setImageResource(cards[myRandom]);

txtResult.setText(mySelect[myRandom]);
}
});
}
}
 
Hey, so wie du den Random verwendest kann das auch nichts werden! Ein Randomobjekt ist keine Ganzzahl, du kannst damit aber in einer angegebenen Range eine ausgeben lassen, welche du einer Integer-Variable zuweisen kannst, diese nutzt du dann für die Indexangabe deines Arrays/deiner Liste. Schau dir am besten mal an wie man das verwendet. Random (Java Platform SE 6)
 
Zuletzt bearbeitet:
Hallo,
ich bin ein Stück weitergekommen, nun habe ich folgendes Problem und komme nicht mehr voran. Vielleicht kann mir noch mal jemand behilflich sein.

mit einem Knopf_Beschreibung soll für jeweilige Bilder, Beschreibung in der TextView angezeigt werden.

public class MainActivity extends Activity implements OnClickListener {

ArrayList<Integer> someArrayList = new ArrayList<Integer>();
final Random randomNumber = new Random();

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

txt = (TextView) findViewById(R.id.textView1);
bt = (Button) findViewById(R.id.button1);
btRezept = (Button) findViewById(R.id.bt_Beschreibung);

bt_Beschreibung.setVisibility(View.INVISIBLE);

someArrayList.add(R.drawable.bild1.png);
someArrayList.add(R.drawable.bild2.png);
someArrayList.add(R.drawable.bild3.png);
someArrayList.add(R.drawable.bild4.png);

//beim ersten bild soll bt_Beschreibung anzeigen
bt_Beschreibung.setVisibility(View.INVISIBLE);

try {
InputStream instream = new FileInputStream(
"C:\\Users\\an\\Desktop\\Beschreibung.txt");
if (instream != null) {
InputStreamReader inputreader = new InputStreamReader(instream);
BufferedReader buffreader = new BufferedReader(inputreader);

String line;

do {
line = buffreader.readLine();
} while (line != null);

}

bt.setOnClickListener(this);

}

public void onClick(View v) {

int rand = (int) (Math.random() * 4);
for (int i = 0; i < someArrayList.size(); i++) {
someArrayList.get(i);

if (v.getId() == R.id.button1) {

txt.setBackgroundResource(someArrayList.get(rand));

bt_Beschreibung.setVisibility(View.VISIBLE);

if (v.getId() == R.id.bt_Beschreibung) {
txt.setText(line);
 
Wenn du den Code in Blöcke [ CODE ] <- ohne Leerzeichen -> [/ CODE ] packen würdest, wäre es deutlich einfacher dir zu helfen ;)

Code:
public class MainActivity extends Activity implements OnClickListener {
 
    ArrayList<Integer> someArrayList = new ArrayList<Integer>();
    final Random randomNumber = new Random();
 
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        txt = (TextView) findViewById(R.id.textView1);
        bt = (Button) findViewById(R.id.button1);
        btRezept = (Button) findViewById(R.id.bt_Beschreibung);
 
        bt_Beschreibung.setVisibility(View.INVISIBLE);
 
        someArrayList.add(R.drawable.bild1[COLOR=Red][COLOR=Black].[/COLOR][B]png[/B][/COLOR]); // <- ERROR
        someArrayList.add(R.drawable.bild2[COLOR=Red][COLOR=Black].[/COLOR]png[/COLOR]);
        someArrayList.add(R.drawable.bild3.[COLOR=Red]png[/COLOR]);
        someArrayList.add(R.drawable.bild4.[COLOR=Red]png[/COLOR]);
 
//beim ersten bild soll bt_Beschreibung anzeigen
        bt_Beschreibung.setVisibility(View.INVISIBLE);
      [COLOR=Silver]   try {
            InputStream instream = new FileInputStream(
                    "C:\\Users\\an\\Desktop\\Beschreibung.txt");
            if (instream != null) {
                InputStreamReader inputreader = new InputStreamReader(instream);
                BufferedReader buffreader = new BufferedReader(inputreader);
                 String line;
                 do {
                    line = buffreader.readLine();
                } while (line != null);
             }[/COLOR]
 
        bt.setOnClickListener(this);
 
    }
 
    public void onClick(View v) {
 
        int rand = (int) (Math.random() * 4);
        for (int i = 0; i < someArrayList.size(); i++) {
            someArrayList.get(i);
 
            if (v.getId() == R.id.button1) {
 
                txt.setBackgroundResource(someArrayList.get(rand))  ;
 
                bt_Beschreibung.setVisibility(View.VISIBLE);
 
                if (v.getId() == R.id.bt_Beschreibung) {
                    txt.setText(line);
... wenn du das graue erstmal streichst und es mit einem normalen String-Array probierst, ist es vielleicht einfacher, da gewisse Fehler ausgeschlossen werden können. Oder halt mit Logcat prüfen ob die Ausgaben den Erwartungen entsprechen... (so würde ich jedenfalls vorgehen)
 
Zuletzt bearbeitet:
Zurück
Oben Unten