2013-12-07 2 views
0

Я ищу Случайная обучающая программа везде, но ничего не работает для моего приложения.Android: Случайная активность в приложении для викторины

После ответа на викторину и нажатия на следующую, я хочу запустить случайную деятельность.

Вот код, который я сделал в одной из викторин деятельности но не имеет случайных кодов еще:

import android.os.Bundle; 
import android.app.Activity; 
import android.app.AlertDialog; 
import android.content.DialogInterface; 
import android.content.Intent; 
import android.view.KeyEvent; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 

public class G2g1Activity extends Activity { 


private Button btnOK; 
private Button btnHint; 
private EditText inputtxt; 

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


    inputtxt = (EditText) findViewById(R.id.g2g1_et); 
    btnOK = (Button) findViewById(R.id.g2g1_btnOK); 
    btnHint = (Button) findViewById(R.id.g2g1_btnHint); 

    btnOK.setOnClickListener(new View.OnClickListener() 
     { 

     @Override 
     public void onClick(View ContentView) { 
      // TODO Auto-generated method stub 

     String name; 

      name=inputtxt.getText().toString(); 

      if (name.equalsIgnoreCase("Cash")) 
      { 

       Toast.makeText(getApplicationContext(), "CASH", Toast.LENGTH_SHORT).show(); 


       Intent i = new Intent (G2g1Activity.this, G2g2Activity.class); 
       startActivity(i); 
       finish(); 

      } 
      else 
      { Toast.makeText(getApplicationContext(), "Sorry, wrong answer. Try Again!", Toast.LENGTH_SHORT).show(); 
      }  


      }; 
      }); 

     btnHint.setOnClickListener(new View.OnClickListener() 
      { 

       @Override 
       public void onClick(View ContentView) { 
        // TODO Auto-generated method stub 

        Toast.makeText(getApplicationContext(), "Money, owned money, type + Currency, Coins, Exchange", Toast.LENGTH_LONG).show(); 


      }; 
      }); 

    } 


} 

ответ

4

Вы можете сгенерировать случайное число из ряда мероприятий, которые Вы имеете. Затем используйте инструкцию switch, чтобы начать операцию со случайным числом.

Например,

int min = 1; 
int max = 10; 

Random r = new Random(); 
int random = r.nextInt(max - min + 1) + min; //+1 if max is inclusive 

Тогда switch:

switch(random) { 

case 1: //Activity A 
break; 

case 2: //Activity B 
break; 

case 3: //Activity C 
break; 

. 
. 
. 
} 
+0

Как я могу остановить его? Когда я уже взял 5 предметов (видов деятельности). – Jei

+0

Что вы можете сделать, это поместить все сгенерированные числа в массив и каждый раз, когда генерируется новый номер, проверьте его на массив, чтобы узнать, присутствует ли в нем число. Если нет, продолжайте это число, иначе проигнорируйте его и восстановите другой номер. Но убедитесь, что вы продолжаете обновлять массив, как только вы используете число. – JoelFernandes

+0

Прошу прощения, я новичок в андроиде. Я не на самом деле, как закодировать эти вещи. Вы можете мне помочь? – Jei

1

Try ниже кода, где я использовал по умолчанию 5 мероприятий в массив строк.

String[] title = new String[] { "Activity1.class", "Activity2.class","Activity3.class","Activity4.class","Activity5.class"}; 

public String getRandomAct(){ 
    Random randomGenerator = new Random(); 
      int randomInt = randomGenerator.nextInt(5); 
     return title[randomInt-1]; 

     } 

Intent i= new Intent(this,getRandomAct()) 
startActivity(i); 
0

сделать массив строк с именами всех мероприятий

String activities[]={"activity1","activity2"...} 

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

Random random=new Random; 
    String randomstr=activities[random.nextInt(activities.length-1)]; 
Class ourClass=Class.forName("com.example.quiz."+randomstr); 
    Intent i= new Intent(this.currentactivity,ourClass): 
Смежные вопросы