【问题标题】:Set random text with multidimensional array使用多维数组设置随机文本
【发布时间】:2016-11-11 09:35:52
【问题描述】:

我正在尝试将 setText 设置为带有随机数的多维数组的 textView。它工作正常,但只有一次。我怎样才能做到这一点,以便每个按钮单击文本一次又一次地改变自己。这是我的代码(为了简单起见,我把它剪掉了一点):

public class MainActivity extends Activity implements View.OnClickListener{
String quiz[][];
int ques;
int ans;
Random myRand = new Random();
int myInt = myRand.nextInt(10);


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

        quiz = new String[3][2];

    quiz[0][0] = "Q:1";
    quiz[0][1] = "A:1";

    quiz[1][0] = "Q:2";
    quiz[1][1] = "A:2";

    quiz[2][0] = "Q:3";
    quiz[2][1] = "A:3";



    ques = 0;
    ans = 1;

    button4 = (Button)findViewById(R.id.button4);
    button4.setOnClickListener(this);

    textView2 = (TextView)findViewById(R.id.textView2);
    textView3 = (TextView)findViewById(R.id.textView3);
}
    @Override
public void onClick(View view) {
    switch (view.getId()) {
        case R.id.button4:
                textView2.setText(quiz[myInt][ques]);
                textView3.setText(quiz[myInt][ans]);
            break;
}
}

【问题讨论】:

  • 每次为文本视图设置值时生成随机数。 myInt = myRand.nextInt(10);应该在 onClick() 方法中。
  • 啊,谢谢。犯了这么愚蠢的错误对不起

标签: java android multidimensional-array settext


【解决方案1】:

很简单,你应该在onClick事件中随机生成

    @Override
public void onClick(View view) {
    switch (view.getId()) {
        case R.id.button4:
                myInt = myRand.nextInt(10);
                textView2.setText(quiz[myInt][ques]);
                textView3.setText(quiz[myInt][ans]);
            break;
}

【讨论】:

    【解决方案2】:

    当 Activity 被实例化时,您只生成一次随机 int。您需要在单击按钮时生成它:

    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.button4:
                    myInt = myRand.nextInt(10);
                    textView2.setText(quiz[myInt][ques]);
                    textView3.setText(quiz[myInt][ans]);
                break;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多