什么是可编辑的意思?

时间:2014-08-15 08:10:26

标签: java android

此代码中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();
}
}

3 个答案:

答案 0 :(得分:0)

Editable是一个界面。

  

这是可以更改内容和标记的文本界面   (与Strings等不可变文本相对)。如果你做了   DynamicLayout是可编辑的,布局将作为文本重排   改变了。

答案 1 :(得分:0)

它是参数的类型。 Java是一种强类型语言,它需要知道程序中每个变量的类型。在这种情况下,变量必须是Editable类型,或者Editable的任何子类型或实现者。由于Editable是一个界面,它将是一个实现者。如果它是一个类,它将是它的一个实例或它的子类型。

答案 2 :(得分:0)

您正在使用EditText,您可以在其中输入文字。由于EditText中的文本可以更改,因此android决定使用Editable类型的对象(在一些原因中提高速度)。来自可编辑的文档:

  

这是可以更改内容和标记的文本界面(与字符串之类的不可变文本相对)。

     

如果您制作可编辑的DynamicLayout,则会在文本更改时重新布局布局。

因此,在getText()上调用EditText会返回Editable。要从“可编辑”中获取字符串,请调用myEdittext.getText().toString()