如何在单击时清除editText中的字符串

时间:2016-07-23 05:09:56

标签: java android if-statement android-edittext

我真的希望你能帮助我。我在Android中的应用程序清除或擦除分配给主Activity上的editText对象的默认字符串,当它点击它时,只有当值等于这个文本“在这里输入一条消息”时,我在R中分配它.java文件为“R.string.editTextOnStart”。这是代码:

    public class MainActivity extends AppCompatActivity {

    private String text;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final TextView textView = (TextView) findViewById(R.id.textView);
        final EditText editText = (EditText) findViewById(R.id.editText);

        editText.setText(R.string.editTextOnStart);

        textView.setText(R.string.textViewString);

        //if(editText.getText().toString().equals(String.valueOf(R.string.editTextOnStart))) {

            editText.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View view) {
                    text = editText.getText().toString();

                    if(text.equals(R.string.editTextOnStart)) {
                        editText.getText().clear();
                    }
                }
            });
        //}
        Button button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View view) {
                textView.setText(editText.getText().toString());
            }
        });
    }
}

5 个答案:

答案 0 :(得分:3)

您可以使用hint

指定以下内容,而不是这样做

在您的布局xml文件中,在EditText下,添加此

android:hint="Enter your text here"

当您开始活动时,这将显示在您的编辑文本上,当用户点击它时,它会消失

答案 1 :(得分:2)

更好地制作"在此处输入消息"作为布局提示

android:hint="Enter a message here"

答案 2 :(得分:0)

看起来你的代码几乎是完美的,但问题是你是将一个String的变量text直接与一个int的R.string.editTextOnStart进行比较。要获得分配给R.string.editTextOnStart的实际值,您需要使用方法[Context.getString(R.string.editTextOnStart)][1]。所以你的代码应该是这样的:

...
editText.setOnClickListener(new OnClickListener() {
  @Override
  public void onClick(View view) {
   text = editText.getText().toString();

   if(text.equals(getApplicationContext().getString(R.string.editTextOnStart))) {
     editText.setText("");
   }
 }
});
...

答案 3 :(得分:0)

爪哇

setHint()

-OR -

XML

android:hint=""

请参阅here for more info

答案 4 :(得分:0)

将此内容写入您的onclick侦听器

((EditText) findViewById(R.id.yoursXmlId)).setText("");

或者在XML布局中设置文本提示

android:hint="Enter Name"