好吧,我只是想提供更多信息,我对编码还很陌生,显然有很多我不知道的地方。
我有一个按钮,然后我有 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/