2016-09-29 84 views
0

這裏是我的代碼:如何讓用戶輸入一個答案並使editText消失? [ANDROID STUDIO]

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框中輸入一個值隨機數消失後,我想編輯它們可以輸入的測試框在按下輸入後消失。我該如何做到這一點,在隨機數消失時讓他們的文本框出現,並在輸入答案時讓他們的框消失?

非常感謝。

注:我是Java開發新手。

回答

0

「我不打算使用用戶必須點擊的按鈕,我希望他們鍵入他們的答案,然後點擊鍵盤上的輸入提交他們的答案。」

所以不要使用按鈕。將此偵聽器附加到將輸入的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; 
} 

});

+0

我不打算使用用戶必須點擊的按鈕。我希望他們鍵入他們的答案,然後點擊鍵盤上的輸入提交他們的答案。 – User44

+0

請參閱我編輯的答案 – BiGGZ

+0

您能否指定我使用自己的代碼替換哪些部分,以及它們與我上面提供的代碼之間的關係?非常感激。 – User44

相關問題