android - একটি EditText প্রোগ্রামগতভাবে জন্য ইনপুট টাইপ সেট করুন?




android-edittext android-inputtype (7)

আপনার লেআউট এ EditText / TextView ট্যাগে এটি যোগ করার চেষ্টা করুন

android:password="true"

সম্পাদনা: আমি শুধু আপনার পোস্টটি পুনরায় পড়ি, সম্ভবত আপনাকে নির্মাণের পরে এটি করতে হবে। আমি কেন আপনার স্নিপেট কাজ করবে না দেখতে।

কিভাবে আমরা একটি সম্পাদনা পাঠ্যক্রমের জন্য ইনপুট টাইপ প্রোগ্রাম্যাটিকভাবে সেট করব? আমি চেষ্টা করছি:

mEdit.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);

এটা কোন প্রভাব বলে মনে হচ্ছে না।


আমি Java মধ্যে প্রত্যাশিত উত্তর জানি। কিন্তু এখানে আমার 2 সেন্ট পরামর্শ সবসময় XML (অন্তত মৌলিক উপাদান) এর সাথে সম্পর্কিত স্টাফ পরিচালনা করার চেষ্টা করি তাই আমি java এই ব্যবহার ক্ষেত্রে পরিচালনা করার পরিবর্তে একটি xml বৈশিষ্ট্য ব্যবহার করার পরামর্শ দেব

    <EditText
     android:inputType="textPassword"/>

এটি আমার মত অন্যদেরকে সাহায্য করতে পারে যারা পাসওয়ার্ড এবং ফ্রী-টেক্সট মোডের মধ্যে টগল করতে চেয়েছিলেন। আমি প্রস্তাব ইনপুট পদ্ধতি ব্যবহার করে চেষ্টা কিন্তু এটি শুধুমাত্র এক দিক কাজ। আমি পাসওয়ার্ড থেকে টেক্সট যেতে পারে কিন্তু তারপর আমি ফিরে যেতে পারে না। যারা একটি টগল পরিচালনা করার জন্য (উদাহরণস্বরূপ একটি শো পাসওয়ার্ড চেক বক্স) ব্যবহার করুন

       @Override
        public void onClick(View v)
        {
            if(check.isChecked())
            {
                edit.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
                Log.i(TAG, "Show password");
            }
            else
            {
                edit.setTransformationMethod(PasswordTransformationMethod.getInstance());
                Log.i(TAG, "Hide password");
            }
        }

আমি সমাধান জন্য this ক্রেডিট আছে। আশা করি কয়েক ঘণ্টার আগেই আমি তা পেয়েছি!


কোটলিনের জন্য:

    val password = EditText(this)
    password.inputType = InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_VARIATION_PASSWORD
    password.hint = "Password"

শুধুমাত্র সংখ্যা অনুমতি দিতে:

password1.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_CLASS_NUMBER);

পাসওয়ার্ড পরিবর্তন (লুকান):

password1.setTransformationMethod(PasswordTransformationMethod.getInstance());

স্ট্যান্ডার্ড কীবোর্ডে দেখানো বিভিন্ন ইনপুট প্রকার এখানে রয়েছে।

প্রোগ্রামগতভাবে ইনপুট টাইপ সেটিং

editText.setInputType(InputType.TYPE_CLASS_TEXT);

TYPE_CLASS_TEXT ছাড়াও অন্যান্য বিকল্প documentation পাওয়া যাবে।

XML এ ইনপুট টাইপ সেট করা

<EditText
    android:inputType="text"
/>

text ছাড়া অন্য বিকল্প documentation পাওয়া যাবে।

সাপ্লিমেন্টাল কোড

এখানে উপরের ছবির জন্য কোড।

public class MainActivity extends AppCompatActivity {

    EditText editText;
    TextView textView;
    List<InputTypeItem> inputTypes;
    int counter = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editText = findViewById(R.id.editText);
        textView = findViewById(R.id.textView);
        initArray();
    }

    public void onChangeInputTypeButtonClick(View view) {
        if (counter >= inputTypes.size()) {
            startOver();
            return;
        }
        textView.setText(inputTypes.get(counter).name);
        editText.setInputType(inputTypes.get(counter).value);
        editText.setSelection(editText.getText().length());
        counter++;
    }

    private void startOver() {
        counter = 0;
        textView.setText("");
        editText.setInputType(InputType.TYPE_CLASS_TEXT);
        InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
    }


    private void initArray() {
        inputTypes = new ArrayList<>();
        inputTypes.add(new InputTypeItem("date",  InputType.TYPE_CLASS_DATETIME | InputType.TYPE_DATETIME_VARIATION_DATE));
        inputTypes.add(new InputTypeItem("datetime", InputType.TYPE_CLASS_DATETIME | InputType.TYPE_DATETIME_VARIATION_NORMAL));
        inputTypes.add(new InputTypeItem("none", InputType.TYPE_NULL));
        inputTypes.add(new InputTypeItem("number",  InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_NORMAL));
        inputTypes.add(new InputTypeItem("numberDecimal",  InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL));
        inputTypes.add(new InputTypeItem("numberPassword",  InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD));
        inputTypes.add(new InputTypeItem("numberSigned", InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED));
        inputTypes.add(new InputTypeItem("phone",  InputType.TYPE_CLASS_PHONE));
        inputTypes.add(new InputTypeItem("text",  InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_NORMAL));
        inputTypes.add(new InputTypeItem("textAutoComplete", InputType.TYPE_TEXT_FLAG_AUTO_COMPLETE));
        inputTypes.add(new InputTypeItem("textAutoCorrect",  InputType.TYPE_TEXT_FLAG_AUTO_CORRECT));
        inputTypes.add(new InputTypeItem("textCapCharacters",  InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS));
        inputTypes.add(new InputTypeItem("textCapSentences",  InputType.TYPE_TEXT_FLAG_CAP_SENTENCES));
        inputTypes.add(new InputTypeItem("textCapWords",  InputType.TYPE_TEXT_FLAG_CAP_WORDS));
        inputTypes.add(new InputTypeItem("textEmailAddress",  InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS));
        inputTypes.add(new InputTypeItem("textEmailSubject", InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_SUBJECT));
        inputTypes.add(new InputTypeItem("textFilter",  InputType.TYPE_TEXT_FLAG_IME_MULTI_LINE));
        inputTypes.add(new InputTypeItem("textLongMessage",  InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_LONG_MESSAGE));
        inputTypes.add(new InputTypeItem("textMultiLine",  InputType.TYPE_TEXT_FLAG_MULTI_LINE));
        inputTypes.add(new InputTypeItem("textNoSuggestions", InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS));
        inputTypes.add(new InputTypeItem("textPassword",  InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD));
        inputTypes.add(new InputTypeItem("textPersonName", InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PERSON_NAME));
        inputTypes.add(new InputTypeItem("textPhonetic",  InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PHONETIC));
        inputTypes.add(new InputTypeItem("textPostalAddress", InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_POSTAL_ADDRESS));
        inputTypes.add(new InputTypeItem("textShortMessage", InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_SHORT_MESSAGE));
        inputTypes.add(new InputTypeItem("textUri",  InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_URI));
        inputTypes.add(new InputTypeItem("textVisiblePassword",  InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD));
        inputTypes.add(new InputTypeItem("textWebEditText",  InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_WEB_EDIT_TEXT));
        inputTypes.add(new InputTypeItem("textWebEmailAddress", InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS));
        inputTypes.add(new InputTypeItem("textWebPassword", InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD));
        inputTypes.add(new InputTypeItem("time", InputType.TYPE_CLASS_DATETIME | InputType.TYPE_DATETIME_VARIATION_TIME));
    }

    class InputTypeItem {
        private String name;
        private int value;
        InputTypeItem(String name, int value) {
            this.name = name;
            this.value = value;
        }
    }
}

আরো দেখুন

  • বর্তমান InputType

editText.setInputType(EditorInfo.TYPE_CLASS_NUMBER);

// আপনি আপনার প্রয়োজন অনুযায়ী _ টাইপ পরিবর্তন করতে পারেন।





android-inputtype