Как привязать вывод случайного сообщения к кнопке?

Ответить
Kice
Сообщения: 2
Зарегистрирован: 24 апр 2016, 20:57

Как привязать вывод случайного сообщения к кнопке?

Сообщение Kice » 24 апр 2016, 21:51

Здравствуйте!

Только начал изучение java.
Такой вопрос:
Есть приложение в котором после нажатия на кнопку меняется textView

Код: Выделить всё

package com.a5project.a9project;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    TextView textView;
    Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView = (TextView) findViewById(R.id.textView);
        button = (Button) findViewById(R.id.button);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                textView.setText("Работает");
            }
        });
    }



}
Нужно, чтобы вместо слова "Работает", при нажатии, выводился рандомный текст, 1 из 22

Код: Выделить всё

   Random rand = new Random();
        int q;
        q = rand.nextInt(22);
        if (q == 1) System.out.print("Текст");
        else if (q == 2) System.out.print("Текст2");
        else if (q == 3) System.out.print("Текст3");
        else if (q == 4) System.out.print("Текст4");
        else if (q == 5) System.out.print("Текст5");
        else if (q == 6) System.out.print("Текст6");
        else if (q == 7) System.out.print("Текст7");
        else if (q == 8) System.out.print("Текст8");
        else if (q == 9) System.out.print("Текст9");
        else if (q == 10) System.out.print("Текст10");
        else if (q == 11) System.out.print("Текст11");
        else if (q == 12) System.out.print("Текст12");
        else if (q == 13) System.out.print("Текст13");
        else if (q == 14) System.out.print("Текст14");
        else if (q == 15) System.out.print("Текст15");
        else if (q == 16) System.out.print("Текст16");
        else if (q == 17) System.out.print("Текст17");
        else if (q == 18) System.out.print("Текст18");
        else if (q == 19) System.out.print("Текст19");
        else if (q == 20) System.out.print("Текст20");
        else if (q == 21) System.out.print("Текст21");
        else if (q == 22) System.out.print("Текст22");
Как это можно сделать или куда копать?

Мучаюсь 2 день, куда только переменные не пихал.

ANdriy123456
Сообщения: 138
Зарегистрирован: 27 июн 2014, 01:41

Re: Как привязать вывод случайного сообщения к кнопке?

Сообщение ANdriy123456 » 25 апр 2016, 00:00

Код: Выделить всё

public String getRandomText(){
String s = "";
Random random = new Random(22);
switch (random) {
    case 0:
             s= "Текст0";
             break;
    case 1:  
             s = "Текст1";
             break;
//........
    default: 
             s = "bad random index"
             break;
}

return s;
}

Код: Выделить всё

button.setOnClickListener(new View.OnClickListener() { 
            @Override 
            public void onClick(View v) { 
                textView.setText(getRandomText()); 
            } 
        }); 

Kice
Сообщения: 2
Зарегистрирован: 24 апр 2016, 20:57

Re: Как привязать вывод случайного сообщения к кнопке?

Сообщение Kice » 25 апр 2016, 22:23

Спасибо, а как ошибку исправить? http://prntscr.com/awrk12

ANdriy123456
Сообщения: 138
Зарегистрирован: 27 июн 2014, 01:41

Re: Как привязать вывод случайного сообщения к кнопке?

Сообщение ANdriy123456 » 26 апр 2016, 00:07

public String getRandomText(){
String s = "";
Random random = new Random();
int i = random.nextInt(22);
switch (random) {
case 0:
s= "Текст0";
break;
case 1:
s = "Текст1";
break;
//........
default:
s = "bad random index"
break;
}

return s;
}

Ответить