Android: генератор случайных слов

У меня есть это до сих пор, но я не могу хорошо, что не так, извините за тупой вопрос, я новичок во всем этом. Я также разместил ошибку, это дает мне для дальнейшего использования

package com.example.randomword;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import java.util.Random;

public class MainActivity extends Activity {

String[] quotes = new String[] {"q1", "q2", "q3"};
String randomQuote = quotes[(int) (Math.random() * quotes.length)];

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Make a new text view passing Activity object
TextView quote = new TextView(R.id.quote);
//Set a text into view

quote.setText(quotes);             <--- Error here "The method setText(CharSequence) in the type TextView is not applicable for the arguments (String[])"
//set the view into activity view container
setContentView(quote);

}
}

3 ответа

Решение

Не устанавливайте массив строк в TextView кроме того, установите строку только как показано ниже. String array в TextView:

quote.setText(randomQuote);  

Кавычки - это массив строк, а не только одна строка. Вы хотите использовать

quote.setText(randomQuote);

Если вы хотите установить значение в строковый массив, например, с разбивкой по новым строкам, вы можете сделать следующее:

String quotesString = "";
for(String s : quotes) 
    quoteString += s + "\n";
quote.setText(quotesString);

Вы передаете массив строк setText метод TextView, Это проблема.
quotes объявлен как:

String [] quotes = new String [] {"q1", "q2", "q3"};

Тогда вы написали:

quote.setText(котировки);

Вам нужно пройти только один String в setText
или:

quote.setText(randomQuote);

или же

quote.setText(котировки [I]); // где i - целое число, обозначающее индекс элемента в quotes

Другие вопросы по тегам