这是我的代码:
import android.os.CountDownTimer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Editable;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import java.util.Random;
import java.util.Scanner;
public class game1 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game1);
final Button loseStarter1;
loseStarter1 = (Button) findViewById(R.id.Starter1);
loseStarter1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
loseStarter1.setVisibility(View.GONE);
final int[] score = {0};
Random generateG1 = new Random();
final int loadG1 = generateG1.nextInt(1000000)+10000;
final TextView number = (TextView) findViewById(R.id.number);
number.setText(" "+loadG1);
new CountDownTimer(120000, 1000) {
@Override
public void onTick (long millisUntilFinished) {
}
public void onFinish() {
TextView result = (TextView) findViewById(R.id.outcome);
result.setText("Score: "+ score);
}
}.start();
new CountDownTimer(4000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
}
public void onFinish() {
number.setVisibility(View.GONE);
TextView prompt = (TextView) findViewById(R.id.prompt);
prompt.setText(" Enter the number");
EditText input = (EditText) findViewById(R.id.enterAnswer);
Editable answer = input.getText();
input.setVisibility(View.GONE);
if (answer.equals(loadG1)){
score[0] += 1;
}
}
}.start();
}
});
}
}
我的想法是,我希望用户在提示后输入一个值,随机编号消失后出现的editText框,然后我想要输入后可以输入的editTest框消失。如何在随机数消失时显示文本框,并在输入答案时使其框消失?
非常感谢。
注意:我是Java dev。
的新手答案 0 :(得分:0)
"我不打算使用用户必须点击的按钮。我希望他们输入他们的答案,然后点击键盘上的Enter键提交他们的答案。"
所以不要使用按钮。将此侦听器附加到将输入输入的editText,在您的情况下为input
。然后将处理逻辑放在监听器中。
input.setOnKeyListener(new OnKeyListener()
{
public boolean onKey(View v, int keyCode, KeyEvent event)
{
if (event.getAction() == KeyEvent.ACTION_DOWN)
{
switch (keyCode)
{
case KeyEvent.KEYCODE_ENTER:
//your action
Editable answer = input.getText();
input.setVisibility(View.GONE);
if (answer.equals(loadG1)){
score[0] += 1;
}
return true;
default:
break;
}
}
return false;
}
});