【问题标题】:Taking user input via EditText [duplicate]通过 EditText 获取用户输入 [重复]
【发布时间】:2015-07-30 20:26:33
【问题描述】:

我目前正在开发一个简单的hang man 应用程序,这是我在 Android 开发中的第一次体验。我在接受用户猜测的单词时遇到了一点问题。我目前的方法是让用户在 EditText 字段中输入他们的猜测,然后按下一个按钮,将其分配给一个名为 userGuess 的变量。以下是相关部分:

public void onClick(View view){
    EditText word;
    TextView myTxt = (TextView) findViewById(R.id.display_word);
    word = (EditText) findViewById(R.id.letter_guessed);
    userGuess = word.toString();
    System.out.println(userGuess);
}

但是,当我打印它的值时,我会看到以下内容:

System.out﹕ android.widget.EditText{23b92b5a VFED..CL .F...... 48,1064-213,1188 #7f080042 app:id/letter_guessed}

我认为我的问题在于单词的转换,不确定我是否采取了正确的方法。

【问题讨论】:

  • This 是您在 Google 上输入问题时的 Google 搜索结果。
  • 虽然好问题仍未得到解答,但有 7 人选择回答这个问题的笑话,显然是重复的,得分为 -8。代表猎人今天数量众多。叹息...

标签: java android android-studio


【解决方案1】:

只需这样做

public void onClick(View view){
    EditText word;
    TextView myTxt = (TextView) findViewById(R.id.display_word);
    word = (EditText) findViewById(R.id.letter_guessed);
    userGuess = word.getText().toString();
    System.out.println(userGuess);
}

【讨论】:

    【解决方案2】:

    您应该使用getText()EditText 检索文本。

    word.getText().toString();
    

    【讨论】:

    • 如果您看到相同的答案已经回答......那么请尝试投票而不是重复相同的答案。
    【解决方案3】:

    代替这段代码:

    public void onClick(View view){
        EditText word;
        TextView myTxt = (TextView) findViewById(R.id.display_word);
        word = (EditText) findViewById(R.id.letter_guessed);
        userGuess = word.toString();
        System.out.println(userGuess);
    }
    

    试试这个:

    EditText word= (EditText) findViewById(R.id.letter_guessed);
    TextView myTxt = (TextView) findViewById(R.id.display_word);
    String userGuess;
    
    public void onClick(View view){
    
        userGuess = word.getText().toString();
        System.out.println(userGuess);
    }
    

    【讨论】:

      【解决方案4】:

      getText() 用于从editText 输入。

      userGuess = word.getText().toString().Trim();
      

      【讨论】:

      • 如果您看到相同的答案已经回答......那么请尝试投票而不是重复相同的答案。
      【解决方案5】:

      你应该使用word.getText().toString();

      【讨论】:

      • 如果您看到相同的答案已经回答......那么请尝试投票而不是重复相同的答案。
      【解决方案6】:

      只需稍加修改代码即可解决。试试:

      userGuess = word.getText().toString();
      

      【讨论】:

      • 如果您看到相同的答案已经回答......那么请尝试投票而不是重复相同的答案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-04
      • 1970-01-01
      • 1970-01-01
      • 2018-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多