此代码中editable
的含义是什么?
private boolean checkPassword(Editable uname, Editable passwd) {
为什么我要把它放在那里?因为当我删除它时,它会导致错误
继承完整代码
package course.examples.helloWorldWithLogin;
import java.util.Random;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class LoginScreen extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.loginscreen);
final EditText uname = (EditText) findViewById(R.id.username_edittext);
final EditText passwd = (EditText) findViewById(R.id.password_edittext);
final Button loginButton = (Button) findViewById(R.id.login_button);
loginButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if (checkPassword(uname.getText(), passwd.getText())) {
Intent helloAndroidIntent = new Intent(LoginScreen.this,
HelloAndroid.class);
startActivity(helloAndroidIntent);
} else {
uname.setText("");
passwd.setText("");
}
}
});
}
private boolean checkPassword(Editable uname, Editable passwd) {
// Just pretending to extract text and check password
return new Random().nextBoolean();
}
}
答案 0 :(得分:0)
Editable是一个界面。
这是可以更改内容和标记的文本界面 (与Strings等不可变文本相对)。如果你做了 DynamicLayout是可编辑的,布局将作为文本重排 改变了。
答案 1 :(得分:0)
它是参数的类型。 Java是一种强类型语言,它需要知道程序中每个变量的类型。在这种情况下,变量必须是Editable类型,或者Editable的任何子类型或实现者。由于Editable是一个界面,它将是一个实现者。如果它是一个类,它将是它的一个实例或它的子类型。
答案 2 :(得分:0)
您正在使用EditText,您可以在其中输入文字。由于EditText
中的文本可以更改,因此android决定使用Editable
类型的对象(在一些原因中提高速度)。来自可编辑的文档:
这是可以更改内容和标记的文本界面(与字符串之类的不可变文本相对)。
如果您制作可编辑的DynamicLayout,则会在文本更改时重新布局布局。
因此,在getText()
上调用EditText
会返回Editable
。要从“可编辑”中获取字符串,请调用myEdittext.getText().toString()
。