我正在尝试不断使用编辑文本从用户那里获得价值。当他们单击按钮时,我第一次获得该值,但是当我想在编辑文本中使用制表符获取第二个值时,第一个值已经存在,我希望清除该值并获得新值。但这是行不通的。
我尝试使用edittext.getText()。clear();和edittext.setText(“”)。它将清除,但是当我输入值并单击按钮时,它不会返回任何值。返回Null。
val = (EditText) findViewById(R.id.v);
check = (Button) findViewById(R.id.Check);
String value1;
check.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
value1 = val.getText().toString();
enterValue.setText(value1);
if(!value1.isEmpty()) {
try {
value = Integer.parseInt(value1);
//Checking the user input value:
if (value > max) {
Toast.makeText(getApplicationContext(), "Guess the Value Lower than " + String.valueOf(max), Toast.LENGTH_LONG).show();
}
else if(value < min) {
Toast.makeText(getApplicationContext(), "Guess the Value greater than " + String.valueOf(min), Toast.LENGTH_LONG).show();
}
.
.
.
我期望的是,当单击复选按钮时,我将获得该值,并且将清除edittext val,以便下次单击该按钮时,它将返回输入的新值。
答案 0 :(得分:0)
您应该发布更多的代码。很难猜测问题出在哪里。
无论如何,将您的value1
变量声明为String not int,然后尝试您的方法。如果仍然无法正常工作,
尝试此方法:
public void checkValue(View view){
value1 = val.getText().toString();
enterValue.setText(value1);
if(!value1.equals("")) {
try {
value = Integer.parseInt(value1);
//Checking the user input value:
if (value > max) {
Toast.makeText(getApplicationContext(), "Guess the Value Lower than " + String.valueOf(max), Toast.LENGTH_LONG).show();
}
else if(value < min) {
Toast.makeText(getApplicationContext(), "Guess the Value greater than " + String.valueOf(min), Toast.LENGTH_LONG).show();
}
.
.
. //Put here whatever your further code is.
edittext.setText("");
}
转到您的xml文件,并将按钮的onClick
属性设置为上述方法checkValue
。
答案 1 :(得分:0)
preg_match( $id_pattern, $id_value, $id_matches );
$id_to_save = json_encode( array( 'failed_to_get_id' => esc_attr( $id_value ) ) );
这对我有用。感谢您的时间和回复。
答案 2 :(得分:-1)
也许是价值1附近的问题?您尝试将String设置为int。