从EditText字段获取输入并保存在变量中

时间:2018-08-27 11:42:19

标签: java android

这是我的第一篇文章,

我最近只是出于娱乐目的而开始涉足android studio。我正在尝试制作一个用于记录分数的应用程序。我已经设置了所有基础知识,并拥有一个EditText视图可用于输入玩家名称。但是我想输入文字“ Danny是胜利者”(或名称中EditText框中的任何名称优胜者)作为最后的祝酒。我这样做是为了说“玩家1/2是赢家”。我知道我只需要用一个可变名称(例如播放器一)替换player1 / 2。

我用过

// player 1 name

EditText playerOne = (EditText) findViewById(R.id.player1);
String player1 = playerOne.getText().toString();

//player 2 name

EditText playerTwo = findViewById(R.id.player2);
String player2 = playerTwo.getText().toString();

要从EditText视图中获取信息,然后将其转换为变量player1和player2中的字符串

然后我在赢得比赛时更改了文字,说的是player1 +“是赢家”,但是当我运行该应用程序时,它在打开前崩溃了。如果我删除上面的4行,它将正常工作。...

我们将不胜感激任何帮助。

谢谢

2 个答案:

答案 0 :(得分:1)

我的猜测是您遇到了nullPointerException。我认为是因为您可能要让变量player1和player2在它们具有任何值之前获取playerOne和playerTwo中的值。基本上,您需要做的就是仅在其中包含某些内容的情况下从playerOne和playerTwo中获取字符串。通常,我们放置一个按钮,然后单击该按钮,执行String player2 = playerTwo.getText().toString();String player1 = playerOne.getText().toString();行。或者类似等待事件发生,然后根据事件从EditTexts获取字符串的方法。我宁愿您采取这样的方法。试试这个,我很确定这会起作用:

EditText playerOne = (EditText) findViewById(R.id.player1);
EditText playerTwo = findViewById(R.id.player2);
Button button = findViewById(R.id.button); //Make sure you define this is your xml file with the id button

button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String player1 = playerOne.getText().toString();
            String player2 = playerTwo.getText().toString();
            //Set your toast here
        }
    });

现在,请确保您将按钮定义为ID为 button 的xml文件,并且只有在两个 EditTexts 中都输入了内容之后,才能单击按钮。做同一件事的方法有多种,因此,如果是这种情况,建议您多加注意。

答案 1 :(得分:0)

  

阅读此示例

1-在xml文件中创建一个编辑文本

EditText editText =(EditText)findViewById(R.id.ed1);

2-您可以将数据保存在另一个这样的变量中

String strNumber = editText.getText()。toString();