我真的希望你能帮助我。我在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());
}
});
}
}
答案 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)
答案 4 :(得分:0)
将此内容写入您的onclick侦听器
((EditText) findViewById(R.id.yoursXmlId)).setText("");
或者在XML布局中设置文本提示
android:hint="Enter Name"