Android 显示后不要重复(随机)

Android 显示后不要重复(随机),android,random,Android,Random,我有一个按钮,当它按下时,它会显示一个随机文本。 我有另一个按钮,当按下它会删除的情况下,所以它不会再次显示。怎么做? 这是我的密码: public class TasksActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowF

我有一个按钮,当它按下时,它会显示一个随机文本。 我有另一个按钮,当按下它会删除的情况下,所以它不会再次显示。怎么做? 这是我的密码:

    public class TasksActivity extends AppCompatActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.activity_tasks);

    final Button tasksbtn = (Button)findViewById(R.id.btnfortasks);
    Button removeCase = (Button)findViewById(R.id.remove_case); 


    tasksbtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Random taskRandom = new Random();
            TextView tasksView = (TextView)findViewById(R.id.tasks_textView);
            switch (taskRandom.nextInt() %4) {
                case 0:
                    tasksView.setText("one");
                    break;
                case 1:
                    tasksView.setText("two");
                    break;
                case 2:
                    tasksView.setText("three");
                    break;
                case 3:
                    tasksView.setText("four");
                    break;
                default:
                    break;
            }

        }
    });
您可以这样做:

public class TasksActivity extends AppCompatActivity {

    private static ArrayList<String> list;

    //REST OF YOUR CODE

    switch (taskRandom.nextInt() %4) {
            case 0:
                if (list.contains("one")) {
                    break;
                }
                tasksView.setText("one");
                list.add("one");
                break;

            //CONTINUE FOR THE REST OF CASES
    }
公共类任务活动扩展了AppCompative活动{
私有静态数组列表;
//代码的其余部分
开关(taskRandom.nextInt()%4){
案例0:
如果(列表包含(“一”)){
打破
}
tasksView.setText(“一”);
列表。添加(“一”);
打破
//其余情况继续
}
您可以这样做:

public class TasksActivity extends AppCompatActivity {

    private static ArrayList<String> list;

    //REST OF YOUR CODE

    switch (taskRandom.nextInt() %4) {
            case 0:
                if (list.contains("one")) {
                    break;
                }
                tasksView.setText("one");
                list.add("one");
                break;

            //CONTINUE FOR THE REST OF CASES
    }
公共类任务活动扩展了AppCompative活动{
私有静态数组列表;
//代码的其余部分
开关(taskRandom.nextInt()%4){
案例0:
如果(列表包含(“一”)){
打破
}
tasksView.setText(“一”);
列表。添加(“一”);
打破
//其余情况继续
}

不是android程序员,所以我不会尝试界面方面的东西。不过,下面应该让您了解如何使用
Collections.shuffle()

import java.util.ArrayList;
导入java.util.Collections;
公共类NoRepeats{
私有静态字符串[]标签={“一”、“二”、“三”、“四”、“五”};
私有静态ArrayList索引=新ArrayList();
私有静态int idx=-1;
/*
*在标签用完之前不产生重复,然后粘住。
*/
公共静态无效pushSecondButton(){
/*
*更改行为以生成新的未重复数据块
*标签用尽列表后,替换第一个“如果”
*与:
*idx=(idx+1)%labels.length;
*/
如果(idx
不是android程序员,所以我不会尝试界面方面的东西。不过,下面应该让您了解如何使用
Collections.shuffle()

import java.util.ArrayList;
导入java.util.Collections;
公共类NoRepeats{
私有静态字符串[]标签={“一”、“二”、“三”、“四”、“五”};
私有静态ArrayList索引=新ArrayList();
私有静态int idx=-1;
/*
*在标签用完之前不产生重复,然后粘住。
*/
公共静态无效pushSecondButton(){
/*
*更改行为以生成新的未重复数据块
*标签用尽列表后,替换第一个“如果”
*与:
*idx=(idx+1)%labels.length;
*/
如果(idx
您尝试过什么?有一个非常简单的解决方案。使用列表,当您使用条目时,从列表中删除该项目。您可以使用标志来指示该案例已被访问,而不是删除该案例,如果您单击“其他”按钮,则将标志更改为其他标志,这样您就不会再次显示该项目。您能告诉我如何执行此操作吗这些标志?我在开发中是新手,但我正在学习。这不是最好的方法,但你可以为你的4个不同文本创建4个不同的标志。每次按下按钮,你可以检查你处于哪个状态并升起该标志。下次你可以检查未升起的标志,你将设置文本,否则你将通过状态Yes但是我如何设置标志?您尝试了什么?有一个非常简单的解决方案。使用列表,当您使用条目时,从列表中删除该项。您可以使用标志来指示该案例已被访问,而不是删除该案例,如果您单击其他按钮,则将标志更改为其他内容,这样您就不会再次显示它。您能告诉我如何设置标志吗用旗子做这件事?我是开发部的新手,但我正在学习。这不是最好的方法,但你可以为你的4个不同文本创建4个不同的旗子。每次按下按钮,你可以检查你处于哪个状态并升起旗子。下一次你可以检查旗子,如果它没有升起,你会将文本设置为其他状态你通过了州是的,但是我怎么设置旗帜呢?