android - 1个按钮如何同时或依次更改多个文本框中的文本?

标签 android

好吧,我只是想提供更多信息,我对编码还很陌生,显然有很多我不知道的地方。

我有一个按钮,然后我有 7 个 TextView 框

此刻,如果我按下按钮,它将选择一个随机数并更改 textview 框 1,我怎样才能做到这一点,以便当我按下按钮时,它在所有 7 个 textview 框上执行此方法,它不能相同的输出思想。

我选择了一个介于 1 和 49 之间的随机数,因此每个文本框都应该这样做,但会显示不同的答案。

package za.co.gypsyhost.test;

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

import java.util.Random;



public class MainActivity extends AppCompatActivity {

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

public void generate(View view) {
    Random rand = new Random();
    int number = rand.nextInt(49) + 1;
    TextView myText;
    myText = (TextView) findViewById(R.id.lottoNum1);
    String myString = String.valueOf(number);
    myText.setText(myString);
}

}

剩下的就是

<?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">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:layout_editor_absoluteX="0dp"
    tools:layout_editor_absoluteY="0dp">

    <Button
        android:id="@+id/button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="generate"
        android:text="Button"
        tools:layout_editor_absoluteX="36dp"
        tools:layout_editor_absoluteY="381dp"/>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/lottoNum1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Number" />

        <TextView
            android:id="@+id/lottoNum2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Number" />

        <TextView
            android:id="@+id/lottoNum3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Number" />

        <TextView
            android:id="@+id/lottoNum4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="TextView" />

        <TextView
            android:id="@+id/lottoNum5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="TextView" />

        <TextView
            android:id="@+id/lottoNum6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="TextView" />

        <TextView
            android:id="@+id/lottoNum7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="TextView" />
    </LinearLayout>

</LinearLayout>


</android.support.constraint.ConstraintLayout>

最佳答案

public class MainActivity extends AppCompatActivity {

     ArrayList<TextView> textViews=new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
        textViews.add((TextView) findViewById(R.id.lottoNum1));
        textViews.add((TextView) findViewById(R.id.lottoNum2));
        textViews.add((TextView) findViewById(R.id.lottoNum3));
        textViews.add((TextView) findViewById(R.id.lottoNum4));
        textViews.add((TextView) findViewById(R.id.lottoNum5));
        textViews.add((TextView) findViewById(R.id.lottoNum6));
        textViews.add((TextView) findViewById(R.id.lottoNum7));

}

public void generate(View view) {

        for(int i=0;i<textViews.size();i++)
        {
            Random rand = new Random();
            int number = rand.nextInt(49) + 1;
            String myString = String.valueOf(number);
            textViews.get(i).setText(myString);
        }
    }
}

关于android - 1个按钮如何同时或依次更改多个文本框中的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52419852/

相关文章:

java - 使用 sqlite 更新数据库时没有错误,但没有更新(android 应用程序)

android - 找不到参数的方法 kapt()

java - 我可以根据java中的特定条件用不同的对象初始化相同的变量名吗?

android - 如何使用类似于 lazylist 概念的数据库响应来显示图像?

java - RecyclerView 需要时间在 Fragment 中加载 Adapter 值

android - 在android中只记录来电者的声音

android - 无法解析 org.jetbrains.kotlin :kotlin-gradle-plugin:1. 4.10

android - cordova 插件 rm cordova-plugin-whitelist 不会更改 config.xml 因此它将在构建时重新添加

android - Phonegap Android 应用程序重新启动而不是恢复,尽管它没有被操作系统杀死

Android:为什么我没有收到 BOOT_COMPLETED Intent ?