首页 > 解决方案 > Android Studio按下按钮以显示列表中的单词

问题描述

我正在尝试制作一个应用程序,您可以在其中按下按钮并从列表中选择随机单词并显示它;这是我的代码,但它不会工作。(我是新手)有人可以看看我在这里做错了什么。

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Button;
import android.view.View;
import java.util.Random;


public class MainActivity extends AppCompatActivity {
    TextView tv1;
    Button b1;

    private String jokes[] = {"text1","text2","text3","text4"};


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

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

标签: android

解决方案


您的 Java 代码将如下所示:

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import java.util.Random;

public class MainActivity extends AppCompatActivity {

    private String jokes[] = {"text1","text2","text3","text4"};

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

        final TextView joke = (TextView) findViewById(R.id.textViewJoke);
        Button sort = (Button) findViewById(R.id.buttonSort);

        sort.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Random random = new Random();

                int value = Math.abs(random.nextInt() % jokes.length);

                joke.setText(jokes[value]);
            }
        });
    }
}

你的 xml 代码将是这样的:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  tools:context=".MainActivity">

    <TextView
      android:id="@+id/textViewJoke"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginBottom="8dp"
      android:text="Hello World!"
      app:layout_constraintBottom_toBottomOf="parent"
      app:layout_constraintLeft_toLeftOf="parent"
      app:layout_constraintRight_toRightOf="parent"
      app:layout_constraintTop_toTopOf="parent"/>

    <Button
      android:id="@+id/buttonSort"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginStart="8dp"
      android:layout_marginLeft="8dp"
      android:layout_marginTop="8dp"
      android:layout_marginEnd="8dp"
      android:layout_marginRight="8dp"
      android:layout_marginBottom="8dp"
      android:text="Button"
      app:layout_constraintBottom_toBottomOf="parent"
      app:layout_constraintEnd_toEndOf="parent"
      app:layout_constraintStart_toStartOf="parent"
      app:layout_constraintTop_toBottomOf="@+id/textViewJoke"/>

</android.support.constraint.ConstraintLayout>

对于你打算做什么。


推荐阅读