这条线在android编程中意味着什么?

时间:2014-01-23 17:42:55

标签: java android

这是我感到困惑的一条线。

InputType.TYPE_CLASS_TEXT | InputType.TYPE_NUMBER_VARIATION_PASSWORD

在这个计划中:

public class TextPlay extends Activity {

    Button clickMe;
    TextView txtply;
    ToggleButton toggle;
    EditText et1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_text_play);
        clickMe= (Button)findViewById(R.id.txt_ply_Clickme);
        txtply= (TextView)findViewById(R.id.txt_ply_textview);
        toggle= (ToggleButton)findViewById(R.id.txt_ply_toggle);
        et1=(EditText)findViewById(R.id.txt_ply_edittext);
        toggle.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(toggle.isChecked()) {
                    et1.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_NUMBER_VARIATION_PASSWORD);
                }
                else {
                    et1.setInputType(InputType.TYPE_CLASS_TEXT);
                }
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.text_play, menu);
        return true;
    }
}

4 个答案:

答案 0 :(得分:1)

这是此字段中预期的数据类型:

InputType.TYPE_CLASS_TEXT:表示您希望用户编写文本。 InputType.TYPE_NUMBER_VARIATION_PASSWORD:表示您希望用户写入数字密码。

这也可以使用输入类型:

在xml布局文件中的EditText内完成
<EditText
android:id="@+id/phone"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/phone_hint"
android:inputType="phone" />

答案 1 :(得分:0)

他们是旗帜。如果您阅读此处的文档,则会进一步解释:http://developer.android.com/reference/android/text/InputType.html

|运算符允许您将两者结合起来。这些实际影响了什么?通过阅读链接页面的摘要,它解释了它:

定义可编辑对象中保存的文本的基本内容类型的整数的位定义。支持的类可以与变体和标志组合以指示所需的行为。

答案 2 :(得分:0)

TYPE_CLASS_TEXT Class for normal text

TYPE_NUMBER_VARIATION_PASSWORD  Variation of TYPE_CLASS_NUMBER: entering a numeric password.

来自Android doc: 定义可编辑对象中保存的文本的基本内容类型的整数的位定义。支持的类可以与变体和标志组合以指示所需的行为。

答案 3 :(得分:0)

InputType将输入的类型声明为其名称。

TYPE_CLASS_TEXT这是常规文本,如果您使用数字而不是文本,它只接受数字等。顺便欢迎来到StackOverflow,下次发帖时,请不要使用“这条线意味着什么”这样的标题。我建议你阅读this