Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 单击按钮并选择一个随机字符串_Java_Android - Fatal编程技术网

Java 单击按钮并选择一个随机字符串

Java 单击按钮并选择一个随机字符串,java,android,Java,Android,我是第一次使用Android Studio,但代码有问题。我想制作一个选择随机字符串的按钮。但是这个按钮什么都没用。有人能帮我吗?如果不是这样的话,你有没有其他我可以使用的代码 private final String[] jokes = {"text1","text2","text3","text4"}; TextView tv; Button button2; @Override protected void

我是第一次使用Android Studio,但代码有问题。我想制作一个选择随机字符串的按钮。但是这个按钮什么都没用。有人能帮我吗?如果不是这样的话,你有没有其他我可以使用的代码

 private final String[] jokes = {"text1","text2","text3","text4"};
TextView tv;
Button button2;

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

    tv = (TextView) findViewById(R.id.tv);
    button2 = (Button) findViewById(R.id.button2);
    button2.setOnClickListener(new View.OnClickListener() {
        @Override    public void onClick(View v) {
            Random random=new Random();
            int num = random.nextInt(jokes.length);
            tv.setText(jokes[num]);    }
    });
}
}


您必须在这行代码中指向按钮的相应
id

button2 = (Button) findViewById(R.id.button2);

因此,将
R.id.button2
替换为
R.id.bt
将解决您的问题

您必须在这行代码中指出按钮的相应
id

button2 = (Button) findViewById(R.id.button2);

因此,将
R.id.button2
替换为
R.id.bt
将解决您的问题

您为按钮键入了错误的id

而不是这个

button2 = (Button) findViewById(R.id.button2);
用这个

button2 = (Button) findViewById(R.id.bt);

良好做法:始终为按钮id使用描述性名称

您为按钮键入了错误的id

而不是这个

button2 = (Button) findViewById(R.id.button2);
用这个

button2 = (Button) findViewById(R.id.bt);

良好实践:始终使用我提供的按钮id的描述性名称

+1,仅说明变量名称应该是描述性的,这些类型的错误主要是由于没有好的变量名称造成的。谢谢您的回答。代码不再出现任何红线或错误。但是这个按钮对我来说仍然没有任何作用,因为我只是说变量名称应该是描述性的,这些类型的错误主要是因为没有好的变量名称。谢谢你的回答。代码不再出现任何红线或错误。但是这个按钮仍然不起任何作用,并不总是需要使用
random
。如果您可以找到一个内置函数来洗牌您的项目列表,那么您可以始终只取第一个项目,然后再次洗牌。并不总是需要使用
random
。如果您可以找到一个内置函数来洗牌您的项目列表,您总是可以只拿第一个项目,然后再次洗牌。