2013-02-23 51 views
3

我想显示四个数字选项,就像测验选项一样,四个三个中应该是错误的,一个应该是正确的答案。所有选项都是数字编号,每次页面打开时我都想更改正确答案的位置。请帮我我想显示四个随机数,最小的一个最大值为十,但包含一个数字修正

,我的结果是一个字符串结果,在这里我将添加结果.....

我想这一点,但没有得到解决

LinearLayout rowoptions = (LinearLayout) findViewById(R.id.linearlayout); 
ArrayList<Integer> numbers = new ArrayList<Integer>(); 
String[] s = new String[4]; 
while (numbers.size() < 4) { 
    int random = r.nextInt(10)+1; 
    int chk = r.nextInt(4)+1; 
    if (!numbers.contains(random)) { 
     numbers.add(random); 
     s[chk] =String.valueOf(random); 
    } 
} 

for (int i = 0; i < 4; i++) { 
    Button optionbutton = new Button(this); 
    optionbutton.setText(s[i]); 
    LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(70, 70); 
    layoutParams.setMargins(5, 5, 0, 0); // left, top, right, bottom 
    optionbutton.setLayoutParams(layoutParams); 
    //ivBowl.setBackgroundDrawable(null); 

    rowoptions.addView(optionbutton); 
} 
+0

这是你的要求,你想显示四个随机数字按钮,其中一个是答案,但我想知道你的答案在哪里..? – Pragnani 2013-02-23 07:52:07

+0

@Pragnani你是对的,我想添加我的答案,但我不明白我会添加我的答案,我的答案是字符串结果 – Rohit 2013-02-23 07:54:04

+0

尽管你有示例代码(太棒了!),但你没有明确表示你的投入和预期的产出。具有更详细的示例对了解您的挑战是非常有帮助的。例如,我将输入的答案编码为1,2,3,4(其中1总是正确的答案),然后在输出上随机化这个序列,得到类似3,4,1,2的东西。 – mvp 2013-02-23 08:08:11

回答

1

喜做你需要这样的东西

LinearLayout layout=(LinearLayout)findViewById(R.id.mainlayout); 
ArrayList list=new ArrayList(); 
    list.add(answer); 
    Random r=new Random(); 
    for(int i=0;i<3;i++) 
    { 
     while(true) 
     { 
      int next=r.nextInt(10)+1; 
      if(!list.contains(next)) 
      { 
      list.add(next); 
      break; 
      } 
     } 
    } 
    Collections.shuffle(list); 
    for(int i=0;i<list.size();i++) 
    { 
     final Button b=new Button(this); 
     b.setText(list.get(i).toString()); 

     b.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       int selectedAnser=Integer.parseInt(b.getText().toString()); 
       if(!(selectedAnser==answer)) 
       { 
        Toast.makeText(context, "Wrong Answer", Toast.LENGTH_SHORT).show(); 
       } 

      } 
     }); 
     layout.addView(b); 
    } 
+0

感谢兄弟,多么真棒的答案......非常感谢 – Rohit 2013-02-23 09:04:27

相关问题