单击时如何清除editText中的字符串[重复]
Posted
技术标签:
【中文标题】单击时如何清除editText中的字符串[重复]【英文标题】:How to clear the string in the editText when clicking on it [duplicate] 【发布时间】:2016-11-27 01:29:26 【问题描述】:我真的希望你能帮助我。我在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());
);
【问题讨论】:
【参考方案1】:您可以使用hint
指定以下内容,而不是这样做
在您的布局 xml 文件中,在您的 EditText
下,添加此
android:hint="Enter your text here"
这将在您启动活动时出现在您的编辑文本中,并在用户单击它时消失
【讨论】:
感谢 Vidya Sagar 和 ShivBuyya,非常感谢 :)【参考方案2】:最好将“在此处输入消息”作为布局提示
android:hint="Enter a message here"
【讨论】:
感谢 Vidya Sagar 和 ShivBuyya,非常感谢 :)【参考方案3】:看起来您的代码几乎是完美的,但问题是您正在将变量text
(它是一个字符串)直接与R.string.editTextOnStart
(它是一个int)进行比较。要获得分配给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("");
);
...
【讨论】:
【参考方案4】:Java
setHint()
-或-
XML
android:hint=""
见here for more info
【讨论】:
【参考方案5】:把这个写在你的 onclick 监听器中
((EditText) findViewById(R.id.yoursXmlId)).setText("");
或者在你的 XML 布局中设置文本提示
android:hint="Enter Name"
【讨论】:
以上是关于单击时如何清除editText中的字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Xamarin Android 中清除 EditText
如何默认隐藏键盘并仅在单击 EditText 时显示 [重复]