1

我目前正在开发我的第一个 android 应用程序,这实际上是我第一次接触 java。因此,我想这个问题对于有经验的开发人员来说有一个明显的答案,但我在 SO 或其他任何地方都找不到任何东西。

下面的 EditText 有两个祝酒词(我不确定这听起来是否正确)。如果用户键入特定的单词,Please则会显示一个(在这种情况下,如果用户键入Magic word并按下按钮,则会显示)。如果用户在单击按钮时键入除该单词以外的任何其他内容(除“魔术词”之外的任何内容),我希望出现另一个 toast。

EditText editText1 = (EditText) findViewById(R.id.editText1);
{

if(editText1.getText().toString().trim().equals("Magic word"))
{
    Toast.makeText(MainActivity.this,
        "Please", Toast.LENGTH_LONG).show();
}                                                                                                                                        
} 
else if (editText1.getText().toString().trim().equals())
{
Toast.makeText(MainActivity.this,
    "You didn't say the magic word", Toast.LENGTH_LONG).show();
}
}
}
});

我为我糟糕的英语道歉。希望我让自己明白了。

非常感谢你。

4

3 回答 3

2

以下代码为您提供解决方案:

final EditText editText1=(EditText)findViewById(R.id.editText1);        
    Button btn=(Button)findViewById(R.id.button1);

    btn.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            // TODO Auto-generated method stub
            final String edittext=editText1.getText().toString();
            if(edittext.trim().equals("Magic word"))
            {
                    Toast.makeText(MainActivity.this,
                    "Please", Toast.LENGTH_LONG).show();
            }  

            else
            {
                    Toast.makeText(MainActivity.this,
                    "You didn't say the magic word", Toast.LENGTH_LONG).show();
            }
        }
    });
于 2012-10-17T07:37:02.643 回答
1

更简单的方法!!

String hello = editText1.getText().toString();

进而,

Toast.makeText(MainActivity.this, "The text is" +hello , Toast.LENGTH_SHORT).show();
于 2014-05-22T14:11:02.347 回答
0

更准确地说,“魔法词”不是一个词,它的两个有空格。第一个 if 语句将要求 EditText 中的文本与该语句完全一致。如果您实际上打算将“魔术词”仅仅放在键入 EditText 的文本中的某个位置以显示一个说请的 Toast,请考虑使用 String.contains() 或正则表达式进行第一次比较。

对于所有其他条件,无需检查 EditText 的值。换句话说,如果只是按照 Luksprog 提到的那样保留 else,则删除第二个。

于 2012-10-17T07:52:03.407 回答