Java 将editText的内容输出到要在textView中显示的数组
我无法将数据从editText输出到textView。我的应用程序请求用户输入,然后通过将它们与其他单词连接在一起来显示,并在最后以一个字符串显示在textView中,尽管出于测试目的,我始终使textView可见。使用按钮询问下一个单词。问题是我一次只能显示数组的一个元素。例如,如果我在编辑文本中输入单词“table”,然后按下按钮。文本视图将显示“有一个表是”。一旦我输入另一个单词,如“黄色”,并按下按钮,它会显示“有一个是黄色的” 这是我的密码Java 将editText的内容输出到要在textView中显示的数组,java,android,textview,Java,Android,Textview,我无法将数据从editText输出到textView。我的应用程序请求用户输入,然后通过将它们与其他单词连接在一起来显示,并在最后以一个字符串显示在textView中,尽管出于测试目的,我始终使textView可见。使用按钮询问下一个单词。问题是我一次只能显示数组的一个元素。例如,如果我在编辑文本中输入单词“table”,然后按下按钮。文本视图将显示“有一个表是”。一旦我输入另一个单词,如“黄色”,并按下按钮,它会显示“有一个是黄色的” 这是我的密码 public class MainActiv
public class MainActivity extends AppCompatActivity {
int i = -1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
chooseGame();
}
public String enterWord() {
String[] array = {"Adjective", "Adjective", "Proper Noun", "Name"};
String entry;
if (array[i].equals("Adjective")) {
entry = "Enter an ";
} else {
entry = "Enter a ";
}
return entry;
}
public void nextWord(View view) { //nextWord is the cnclick of the button
i++;
getNextWord();
getInputs();
}
public void getNextWord() {
String[] array = {"Adjective", "Adjective", "Proper Noun", "Name"};
TextView wordTextView = findViewById(R.id.wordTextView);
Button nextButton = findViewById(R.id.nextButton);
EditText editTextView = findViewById(R.id.enterEditText);
String displayText = enterWord() + array[i];
String displayHint = array[i];
wordTextView.setText(displayText);
editTextView.setHint(displayHint);
}
}
public void chooseGame() {
final ArrayList<String> arrayList = new ArrayList<String>();
final TextView wordTextView = findViewById(R.id.wordTextView);
final EditText editTextView = findViewById(R.id.enterEditText);
final Button nextButton = findViewById(R.id.nextButton);
ArrayList<String> gamesArrayList = new ArrayList<String>();
gamesArrayList.add("A Vegan's Worst Nightmare");
gamesArrayList.add("The Wet Floor Sign");
gamesArrayList.add("The Meaning of life");
gamesArrayList.add("Campfire Story");
gamesArrayList.add("The Crocobearamouse");
final ListView gamesListView = findViewById(R.id.gamesListView);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
this,
android.R.layout.simple_list_item_1,
gamesArrayList);
gamesListView.setAdapter(arrayAdapter);
gamesListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (position <= 5 && position >= 0) {
gamesListView.setVisibility(View.INVISIBLE);
editTextView.setVisibility((View.VISIBLE));
wordTextView.setVisibility((View.VISIBLE));
nextButton.setVisibility(View.VISIBLE);
}
}
}
);
}
public void getInputs() {
TextView finalTextView = findViewById(R.id.finalTextView);
EditText editTextView = findViewById(R.id.enterEditText);
String[] inputsArray = {"","","","",""};
inputsArray[i] = editTextView.getText().toString();
String inputs = "There is a " + inputsArray[0] + " that is" + inputsArray[1];
finalTextView.setText(inputs);
}
}
public类MainActivity扩展了AppCompatActivity{
int i=-1;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
选择名称();
}
公共字符串enterWord(){
字符串[]数组={“形容词”、“形容词”、“专有名词”、“名称”};
字符串输入;
if(数组[i].equals(“形容词”)){
entry=“输入一个”;
}否则{
entry=“输入a”;
}
返回条目;
}
public void nextWord(视图){//nextWord是按钮的cnclick
i++;
getNextWord();
getInputs();
}
public void getNextWord(){
字符串[]数组={“形容词”、“形容词”、“专有名词”、“名称”};
TextView-wordTextView=findViewById(R.id.wordTextView);
按钮nextButton=findviewbyd(R.id.nextButton);
EditText editTextView=findViewById(R.id.enterEditText);
字符串displayText=enterWord()+数组[i];
字符串displayHint=数组[i];
设置文本(显示文本);
setHint(displayHint);
}
}
public void chooseGame(){
最终ArrayList ArrayList=新ArrayList();
最终文本视图wordTextView=findViewById(R.id.wordTextView);
final EditText editTextView=findViewById(R.id.enterEditText);
最终按钮nextButton=findviewbyd(R.id.nextButton);
ArrayList gamesArrayList=新建ArrayList();
添加(“素食者最可怕的噩梦”);
游戏列表。添加(“湿地板标志”);
游戏列表。添加(“生命的意义”);
gamesArrayList.add(“篝火故事”);
gamesArrayList.add(“鳄鱼之家”);
最终列表视图gamesListView=findViewById(R.id.gamesListView);
ArrayAdapter ArrayAdapter=新的ArrayAdapter(
这
android.R.layout.simple\u list\u item\u 1,
游戏列表);
gamesListView.setAdapter(arrayAdapter);
gamesListView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
如果(位置=0){
gamesListView.setVisibility(视图.不可见);
setVisibility((View.VISIBLE));
setVisibility((View.VISIBLE));
设置可见性(View.VISIBLE);
}
}
}
);
}
公共输入(){
TextView finalTextView=findViewById(R.id.finalTextView);
EditText editTextView=findViewById(R.id.enterEditText);
字符串[]inputsArray={“”、“”、“”、“”、“”、“”};
inputsArray[i]=editTextView.getText().toString();
String inputs=“有一个“+inputsArray[0]+”即“+inputsArray[1]”;
finalTextView.setText(输入);
}
}
这是我的XML
<TextView
android:id="@+id/wordTextView"
android:layout_width="418dp"
android:layout_height="146dp"
android:layout_marginTop="84dp"
android:text="Enter a noun"
android:gravity="center"
android:textSize="30sp"
android:visibility="invisible"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/enterEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="244dp"
android:ems="10"
android:hint="Noun"
android:visibility="invisible"
android:inputType="textPersonName"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/wordTextView" />
<Button
android:id="@+id/nextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="180dp"
android:onClick="nextWord"
android:text="Next"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/enterEditText"
app:layout_constraintVertical_bias="0.0" />
<ListView
android:id="@+id/gamesListView"
android:layout_width="404dp"
android:layout_height="647dp"
tools:layout_editor_absoluteX="3dp"
tools:layout_editor_absoluteY="84dp" />
<TextView
android:id="@+id/finalTextView"
android:layout_width="157dp"
android:layout_height="98dp"
app:layout_constraintBottom_toTopOf="@+id/enterEditText"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
在getInputs()方法中,每次都创建一个新数组,该数组将清除以前添加的值
将下面的行移到getInputs()方法之外,这样它就可以用于整个类(例如,在int i=-1;行下面)
这样,您就不会每次都重写数组,它将显示“有一个表是黄色的”,而不是“有一个表是黄色的”
String[] inputsArray = {"","","","",""};