Android:随机字生成器

时间:2013-12-02 05:21:18

标签: java android eclipse random textview

到目前为止,我有这个但是我不知道什么是错的,抱歉这个愚蠢的问题,我对这一切都是新的。 我还发布了它给我的错误以供进一步参考

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 个答案:

答案 0 :(得分:2)

不要在TextView中设置字符串数组,只需将字符串设置为如下所示您无法在String array中设置TextView

quote.setText(randomQuote);  

答案 1 :(得分:1)

引号是一个字符串数组,而不仅仅是一个字符串。你想用

quote.setText(randomQuote);

如果您确实要将值设置为字符串数组,例如按新行传播,则可以执行以下操作:

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

答案 2 :(得分:0)

您正在将一个字符串数组传递给setText TextView方法。这就是问题所在 quotes声明为:

  

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

然后你写道:

  

quote.setText(引号);

您只需将String传递给setText 之一:

  

quote.setText(randomQuote);

  

quote.setText(引号[I]); //其中i是一个整数,表示quotes

中元素的索引