প্রোগ্রামুল্যিকভাবে সম্পাদনা পাঠ্যক্রমের ইনপুট প্রকারটি পাসওয়ার্ড থেকে নর্মাল এবং এর বিপরীতে পরিবর্তন করুন


190

আমার অ্যাপ্লিকেশনটিতে আমার একটি EditTextডিফল্ট ইনপুট টাইপ android:inputType="textPassword"ডিওল্ট দ্বারা সেট করা আছে । CheckBoxএটির ডান দিকের একটি রয়েছে যা যাচাই করা হয় তখন সেই সম্পাদনা পাঠের ইনপুট প্রকারটিকে সাধারণ প্লেইন পাঠ্যে পরিবর্তন করে। যে জন্য কোড

password.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);

আমার সমস্যাটি হ'ল, যখন সেই চেকবক্সটি চেক করা হয় না তখন আবার ইনপুট টাইপটি পাসওয়ার্ডে সেট করা উচিত। আমি এটি ব্যবহার করে সম্পন্ন করেছি-

password.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);

তবে, সম্পাদনাটির ভিতরে থাকা পাঠ্যটি এখনও দৃশ্যমান। এবং অবাক করার জন্য, যখন আমি ওরিয়েন্টেশনটি পরিবর্তন করি, এটি স্বয়ংক্রিয়ভাবে ইনপুট টাইপটিকে পাসওয়ার্ডে সেট করে এবং ভিতরে লেখাটি বুলেটযুক্ত হয় (পাসওয়ার্ডের মতো দেখানো হয়)।

এটি অর্জন করার কোনও উপায়?


পাঠ্য মেল সম্পাদনা করার জন্য ইমেল প্রকারটি কীভাবে সেট করবেন সেট.ইসেট.সেটপুট টাইপ (ইনপুট টাইপ.TYPE_CLASS_TEXT | ইনপুট টাইপ.ওয়াইওয়ালিকা। কাজ মনে হচ্ছে না।
মাহেন্দ্রন

5
ব্যবহার mailEdt.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);। আমার জন্য কাজ কর.
রাজকিরণ

উত্তর:


346

কেবল একই সমস্যাযুক্ত লোকদের জন্য। প্রোগ্রামেমেটিকভাবে সেই এডিটেক্সটটিতে কেবল একটি অতিরিক্ত বৈশিষ্ট্য যুক্ত করুন এবং আপনার কাজ শেষ হয়েছে।

password.setInputType(InputType.TYPE_CLASS_TEXT |
    InputType.TYPE_TEXT_VARIATION_PASSWORD);

সংখ্যার পাসওয়ার্ডের জন্য (পিন)।

password.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD);

এছাড়াও, নিশ্চিত হয়ে নিন যে সম্পাদনা পাঠের পাঠ্যের শেষে কার্সারটি রয়েছে। কারণ, আপনি যখন ইনপুট প্রকারটি পরিবর্তন করবেন তখন কার্সারটি স্বয়ংক্রিয়ভাবে প্রারম্ভের পয়েন্টে সেট হয়ে যাবে। সুতরাং আমি নিম্নলিখিত কোড ব্যবহার করার পরামর্শ দিচ্ছি:

et_password.setInputType(InputType.TYPE_CLASS_TEXT | 
    InputType.TYPE_TEXT_VARIATION_PASSWORD);
et_password.setSelection(et_password.getText().length());

ডেটা বাইন্ডিং ব্যবহার করার সময়, আপনি নিম্নলিখিত কোডটি ব্যবহার করতে পারেন

<data>
        <import type="android.text.InputType"/>
.
.
.
<EditText
android:inputType='@{someViewModel.isMasked ? 
(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD) :
InputType.TYPE_CLASS_TEXT }'

কোটলিন ব্যবহার করা হলে,

password.inputType = InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_VARIATION_PASSWORD

2
সঠিক উত্তরের জন্য উল্লিখিত হিসাবে - পরিবর্তনের পরিবর্তে আপনি ব্যবহার করতে পারেনInputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
Mente

17
আমি বুঝতে পারি না কেন পৃথিবীতে অ্যান্ড্রয়েড কার্সারটি সরানো বেছে নেয়, এটি কেবল বিকাশকারীদের জীবনকে আরও কঠিন করে তোলে।
রাফায়েল সান্ধ্যকাল


2
যদি ব্যবহারকারী পাসওয়ার্ড ক্ষেত্রের মাঝখানে সম্পাদনা করে থাকেন তবে এটি ক্রমাগত শেষে কর্সারটি রাখবে। আমি ব্যবহার বলতে চাই editText.getSelectionStart()এবং editText.getSelectionEnd()সঙ্গে setSelection(start, end)এই সমস্যা এড়ানো।
জেএম লর্ড

1
লোকেরা এমনকি আরও নিচে তাকানো উচিত নয়। এটি সেরা উত্তর এবং আপনি @ জেএম লর্ডসের প্রস্তাবিত পরিবর্তনটি করার পরামর্শ দিচ্ছেন।
চিহ্নিত করুন

55

পাসওয়ার্ডটি পাঠ্যে পরিবর্তিত করতে এবং বিপরীতে এই কোডটি ব্যবহার করুন

mCbShowPwd.setOnCheckedChangeListener(new OnCheckedChangeListener() {

            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                // checkbox status is changed from uncheck to checked.
                if (!isChecked) {
                        // hide password
                    mEtPwd.setTransformationMethod(PasswordTransformationMethod.getInstance());
                } else {
                        // show password
                    mEtPwd.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
                }
            }
        });

পূর্ণ নমুনা কোড পড়ুন http://www.codeproject.com/Tips/518641/Show-hide-password-in-a-edit-text-view-password-ty


6
HideReturnsTransformationMethod.getInstance () পাসওয়ার্ড দেখিয়েছে এবং পাসওয়ার্ড ট্রান্সফর্মেশন মেথড.জেট ইনসট্যান্স () পাসওয়ার্ড লুকায় ... বাস্তবায়ন সঠিক তবে মন্তব্যগুলি উল্টে গেছে
আহমেদ আদেল ইসমাইল

2
এটি সর্বোত্তম উত্তর, এটি সম্পূর্ণ করার জন্য, কেবল কার্সারটিকে শেষ অক্ষরে সরিয়ে নিন: txtpassword.setSelection (txtpassword.getText ()। দৈর্ঘ্য ());
জোশ

এক মুহুর্তে এটি এল-কনটেক্সট ডি-মন্টে তেরেবেঞ্চিখের হাইলাইট পয়েন্টের কারণে কাজ করছে না বলে মনে হচ্ছে। জোশের পরামর্শটিও সহায়ক। এটি সেরা উত্তর।
অজয়

সহজ এবং সেরা ধন্যবাদ
স্যাম

1
আপনি আমার বন্ধু প্রফেসর! এই সমাধান সহ আপনি পাসওয়ার্ড মোডে ফিরে যাওয়ার পরে ফন্টের সাথে সমস্যার মুখোমুখি হচ্ছেন না (সুরক্ষিত পাঠ্য)।
টেজেনোস

16
password.setInputType(InputType.TYPE_CLASS_TEXT | inputType.TYPE_TEXT_VARIATION_PASSWORD);

উপরের পদ্ধতিটি আমার পক্ষে সত্যিই কাজ করে না। নীচের উত্তরটি ২.২ এসডিকে কাজ করে।

password.setTransformationMethod (PasswordTransformationMethod.getInstance ());

একটি সম্পাদনা পাঠের জন্য ইনপুট টাইপ সেট করবেন?


12

আরেকটি সহজ উদাহরণ ব্যবহার ImageView একক কারণে কম কোড সহ টগল দৃশ্যমানতা, ইনপুট আমরা কেবল সমতা অপারেটর প্রয়োজন বরাদ্দ:

EditText inputPassword = (EditText) findViewById(R.id.loginPassword);
ImageView inputPasswordShow = (ImageView) findViewById(R.id.imagePasswordShow);
inputPasswordShow.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View view) {
         if(inputPassword.getInputType() == InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD) {
              inputPassword.setInputType( InputType.TYPE_CLASS_TEXT |
                                        InputType.TYPE_TEXT_VARIATION_PASSWORD);
         }else {
              inputPassword.setInputType( InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD );
         }
         inputPassword.setSelection(inputPassword.getText().length());
    }
});

প্রতিস্থাপন করা হচ্ছে:

InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD

সঙ্গে :

InputType.TYPE_CLASS_TEXT

একই ফলাফল কিন্তু সংক্ষিপ্ত শব্দ দেবে।


12
Checkbox.setOnCheckedChangeListener(new OnCheckedChangeListener() {

            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                // checkbox status is checked.
                if (isChecked) {
                        //password is visible
 PasswordField.setTransformationMethod(HideReturnsTransformationMethod.getInstance());     
                } else {
                        //password gets hided
             passwordField.setTransformationMethod(PasswordTransformationMethod.getInstance());       
                }
            }
        });

6

এটি আমার পক্ষে কাজ করেছে:

mytext.setInputType(InputType.TYPE_CLASS_NUMBER);

প্রথমে প্রশ্নটি পড়ুন। আমি পাসওয়ার্ড ক্ষেত্র এবং পাঠ্যক্ষেত্রের মধ্যে টগল করতে চাই। এটি আমাকে সংখ্যার পাঠ্যক্ষেত্র দেবে।
রাজকিরণ

6

ঠিক আছে কয়েক ঘন্টা চেষ্টা করার পরে অবশেষে এটি বাস্তবায়ন করে। নীচে কোডটি ..

  buttons.get(2).setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View view) {
       if(buttons.get(2).getText().toString().equalsIgnoreCase(getResources().getString(R.string.show))){
           editTexts.get(1).setInputType(InputType.TYPE_CLASS_TEXT);
           editTexts.get(1).setSelection(editTexts.get(1).getText().length());
           buttons.get(2).setText(getResources().getString(R.string.hide));
        }else{
           editTexts.get(1).setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_VARIATION_PASSWORD);
           //editTexts.get(1).setTransformationMethod(PasswordTransformationMethod.getInstance());
           editTexts.get(1).setSelection(editTexts.get(1).getText().length());
           buttons.get(2).setText(getResources().getString(R.string.show));
       }

    }
});

ব্যাখ্যা: - আমার শো হিসাবে ডিফল্ট পাঠ্যযুক্ত একটি বোতাম আছে। এটিতে অন্লিক ইভেন্টের পরে বোতামের পাঠ্যটি প্রদর্শন করা হচ্ছে কিনা তা যাচাই করা হচ্ছে। যদি এটি প্রদর্শিত হয় তবে ইনপুট ধরণের পরিবর্তন করা, কার্সারের অবস্থানটি সামঞ্জস্য করা এবং এতে লুকানো হিসাবে নতুন পাঠ্য সেট করা।

যখন এটি লুকানো থাকে ... বিপরীত করা অর্থাৎ পাসওয়ার্ডটি গোপন করা, কার্সর সামঞ্জস্য করা এবং পাঠ্যটিকে প্রদর্শন হিসাবে সেট করা। এবং এটাই. এটি একটি মোহন মত কাজ করছে।



5

পাসওয়ার্ডটি পাঠ্যে পরিবর্তন করতে এবং বিপরীতে এই কোডটি ব্যবহার করুন। এই কোডটি আমার পক্ষে নিখুঁতভাবে কাজ করেছে। এটা চেষ্টা কর..

EditText paswrd=(EditText)view.findViewById(R.id.paswrd);

CheckBox showpass=(CheckBox)view.findViewById(R.id.showpass);
showpass.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
    if(((CheckBox)v).isChecked()){
        paswrd.setInputType(InputType.TYPE_CLASS_TEXT);

    }else{
        paswrd.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_VARIATION_PASSWORD);
    }

}
});

এটি কীভাবে গৃহীত উত্তর থেকে আলাদা? স্প্যামিংয়ের আগে দয়া করে প্রশ্ন এবং উত্তরটি মনোযোগ সহকারে পড়ুন।
রাজকিরণ

3

পাসওয়ার্ডটি দেখানোর / আড়াল করার জন্য এটি চিত্র / বোতামের সম্পূর্ণ অন্লিক হ্যান্ডলার।

    new OnClickListener() {
        @Override
        public void onClick(View v) {
            // current ursor position
            int cursorPosition = edtPassword.getSelectionStart();

            // toggles the control variable
            isPassworsVisible = !isPassworsVisible;

            // sets the image toggler inside edit text
            passwordVisible.setImageDrawable(getResources().getDrawable(isPassworsVisible ? R.drawable.ic_eye_checked : R.drawable.ic_eye_unchecked));

            // apply input type
            edtPassword.setInputType(isPassworsVisible ? InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD : InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);

            // returns cursor to position
            edtPassword.setSelection(cursorPosition);
        }
    };

জন্য ধন্যবাদ edtPassword.getSelectionStart()
শীতলমাইন্ড

3

পাসওয়ার্ড ভিজিবিলিটি টগল বৈশিষ্ট্যটি লাইব্রেরি সংস্করণ 24.2.0 সমর্থন করার জন্য যুক্ত করা হয়েছে যা আপনাকে EditTextকোনও প্রয়োজন ছাড়াই সরাসরি পাসওয়ার্ডটি টগল করতে সক্ষম করে CheckBox

আপনি প্রথমে আপনার সমর্থন লাইব্রেরি সংস্করণটি 24.2.0 এ আপডেট করে এবং তারপরে inputTypeপাসওয়ার্ডের একটি সেট করে আপনি মূলত সেই কাজটি করতে পারেন TextInputEditText। এটি কীভাবে করা যায় তা এখানে:

<android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <android.support.design.widget.TextInputEditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/password"
            android:inputType="textPassword"/>
</android.support.design.widget.TextInputLayout>

আপনি টেক্সটইনপুটআলআউটটির বিকাশকারী ডকুমেন্টেশনে নতুন বৈশিষ্ট্য সম্পর্কে আরও তথ্য পেতে পারেন ।


3

সমর্থন লাইব্রেরি v24.2.0। আপনি এই খুব সহজ আছি

আপনার যা করা দরকার তা হ'ল:

  1. আপনার নির্ভরশীলগুলিতে ডিজাইন গ্রন্থাগার যুক্ত করুন

    dependencies {
         compile "com.android.support:design:25.1.0"
    }
  2. TextInputEditTextসাথে একযোগে ব্যবহার করুনTextInputLayout

    <android.support.design.widget.TextInputLayout
        android:id="@+id/etPasswordLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:passwordToggleEnabled="true">
    
        <android.support.design.widget.TextInputEditText
            android:id="@+id/etPassword"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/password_hint"
            android:inputType="textPassword"/>
    </android.support.design.widget.TextInputLayout>

passwordToggleEnabled গুণাবলী পাসওয়ার্ড টগল প্রদর্শিত হবে

  1. আপনার মূল বিন্যাসে যোগ করতে ভুলবেন না xmlns:app="http://schemas.android.com/apk/res-auto"

  2. আপনি আপনার পাসওয়ার্ড টগল ব্যবহার করে কাস্টমাইজ করতে পারেন:

app:passwordToggleDrawable- পাসওয়ার্ড ইনপুট দৃশ্যমানতা টগল আইকন হিসাবে ব্যবহারের জন্য অঙ্কনযোগ্য।
app:passwordToggleTint- পাসওয়ার্ড ইনপুট ভিজিবিলিটি টগল করার জন্য আইকনটি ব্যবহার করুন।
app:passwordToggleTintMode- ব্যাকগ্রাউন্ড টিন্ট প্রয়োগ করতে ব্লেন্ডিং মোড ব্যবহৃত হয়।

টেক্সটইনপুটলয়আউট ডকুমেন্টেশনে আরও বিশদ । এখানে চিত্র বর্ণনা লিখুন


2

ভিজ্যুয়াল স্টুডিও / জ্যামারিনের অনুরূপ সমাধানের জন্য আমার অনুসন্ধান আমাকে এই থ্রেডে নিয়ে যায়। নীচে জামারিনের সাথে আমার জন্য কী কাজ করেছে is নোট করুন যে TYPE_TEXT_FLAG_NO_SUGGESTIONSমোডগুলির মধ্যে স্যুইচ করার সময় এই বাস্তবায়ন পতাকাটি ধরে রাখে ।

EditText et = FindViewById<EditText>(Resource.Id.ET);

চরিত্রগুলি দেখানোর জন্য: et.InputType = Android.Text.InputTypes.TextVariationVisiblePassword | Android.Text.InputTypes.TextFlagNoSuggestions;

অক্ষরগুলি গোপন করতে: et.InputType = Android.Text.InputTypes.TextVariationPassword | Android.Text.InputTypes.ClassText;

অবস্থান শেষ করার জন্য: int position = et.Text.Length; et.SetSelection(position, position);


if (edittext.getInputType() == (InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD )){ edittext.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD ); }else{ edittext.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD ); }ভিজ্যুয়াল স্টুডিও / জামারিনের জন্য এই কোডটি কীভাবে ব্যবহার করবেন ..?
sunil y

আমি বলতে চাইছি কীভাবে এডিটেক্সট এর ইনপুট টাইপ পাবেন () অবস্থায় ..?
sunil y

2

কিছু গতিশীল পরিস্থিতি holder.edit_pin.setInputType(InputType.TYPE_CLASS_NUMBER);এত ভালোভাবে দু'টি ব্যবহার করতে পারে না

holder.edit_pin.setInputType(InputType.TYPE_CLASS_NUMBER);
holder.edit_pin.setTransformationMethod(PasswordTransformationMethod.getInstance());

দ্রষ্টব্য: আপনি যখন আরায়াপ্টার ব্যবহারের মতো গতিশীল নিয়ন্ত্রণ ব্যবহার করছেন তখন এটি উপযুক্ত


2

আপনি পরে setInputTypeএকটি পাসওয়ার্ড ক্ষেত্রের জন্য তোমাকে থাকতে দিবে সমস্যা ফন্ট
এখানে ফন্ট সমস্যা ছাড়া দেখান / লুকান পাসওয়ার্ড আমার সমাধান

protected void onCreate(Bundle savedInstanceState) {
    ...
    findViewById(R.id.button_show_hide_password).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (isPasswordVisible(edtPassword)) {
                enableInputHiddenPassword(edtPassword);
            } else {
                enableInputVisiblePassword(edtPassword);
            }
            edtPassword.setSelection(edtPassword.getText().length());
        }
    });
}

final int INPUT_TYPE_VISIBLE_PASSWORD = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD;
final int INPUT_TYPE_HIDDEN_PASSWORD = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD;

private boolean isPasswordVisible(EditText editText) {
    return editText.getInputType() == INPUT_TYPE_VISIBLE_PASSWORD;
}

private void enableInputVisiblePassword(EditText editText) {
    Typeface cache = editText.getTypeface();
    editText.setInputType(INPUT_TYPE_VISIBLE_PASSWORD);
    editText.setTypeface(cache);
}

private void enableInputHiddenPassword(EditText editText) {
    Typeface cache = editText.getTypeface();
    editText.setInputType(INPUT_TYPE_HIDDEN_PASSWORD);
    editText.setTypeface(cache);
}

দ্রষ্টব্য: আমি InputType.TYPE_TEXT_VARIATION_PASSWORDপরিবর্তে InputType.TYPE_CLASS_TEXTবা HideReturnsTransformationMethodকারণ ব্যবহার করি কারণ আমি কীবোর্ডটি পাঠ্য এবং সংখ্যা উভয়ই প্রদর্শন করতে চাই

ডেমো


1

আমি android:inputType="textPassword"আপনার লেআউট থেকে সরানো হবে । এই কারণে ওরিয়েন্টেশন পরিবর্তন হওয়ার সাথে সাথে এটি আবার পাসওয়ার্ডে স্যুইচ করছে। কারণ প্রতিটি সময় ওরিয়েন্টেশন পরিবর্তন করে দর্শনটি পুনরায় তৈরি করা হচ্ছে।

প্রথম সমস্যা হিসাবে এটি চেষ্টা করুন:

String text = password.getText();
password.setText("");
password.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
password.setText(text);

মূলত আপনি ইনপুট প্রকারটি পরিবর্তন করার আগে পাঠ্যটি ফাঁকা করে আবার এটিকে যুক্ত করুন।


কাজ করছে না. আমি এমনকি শুরু করার password.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);পরে অবিলম্বে চেষ্টা চেষ্টা , কিন্তু হায়!
রাজকিরণ

1

আপনি পাসওয়ার্ড সম্পাদনা পাঠ্যে পাসওয়ার্ড দৃশ্যমানতা প্রয়োগ করতে চাইলে কোডটি সম্পূর্ণ করুন।

একটি হ্যান্ডেল তৈরি করুন [যে কোনও অঙ্কনযোগ্য বা চেকবক্স]

ক্লিক করুন বা চেকড / আনচেক এ ক্লিক করুন:

 if (edittext.getInputType() == (InputType.TYPE_CLASS_TEXT |
                    InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD )){

                edittext.setInputType(InputType.TYPE_CLASS_TEXT |
                        InputType.TYPE_TEXT_VARIATION_PASSWORD );
            }else{
                edittext.setInputType(InputType.TYPE_CLASS_TEXT |
                        InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD );
            }

এই লাইনটি লিখতে ভুলবেন না:

 edittext.setSelection(edittext.getText().length());

এটি কার্সারটিকে লাইনের শেষে পুনরায় সেট করে।


@ পি কেআর বাস্তবায়ন বন্ধুটি পরীক্ষা করুন, যা এই ক্ষেত্রে ব্যবহারের জন্য প্রস্তুত! :)
Sud007

@ সুদ007 আপনার কি ধারণা আছে যে জ্যামারিন / ভিজ্যুয়াল স্টুডিওতে যদি শর্তটি লিখতে হয় ..?
sunil y

1

আমি আমার চেকবক্সে ইনপুট প্রকারটি পরিবর্তন করি, তাই আমিও OnCheckedChangeListenerকরি:

passwordEdit.setInputType(InputType.TYPE_CLASS_TEXT| (isChecked? InputType.TYPE_TEXT_VARIATION_PASSWORD|~InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD : InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD));

এবং অবশেষে এটি কাজ করে।

এর সাথে বুলিয়ান সমস্যার মতো মনে হচ্ছে TYPE_TEXT_VARIATION_VISIBLE_PASSWORD। পতাকাটি উল্টান এবং এটি সমস্যার সমাধান করা উচিত।

তোমার ক্ষেত্রে:

password.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD|~InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);

1

রূপান্তর পদ্ধতি ব্যবহার করুন:

লুকানোর জন্য:

editText.transformationMethod = PasswordTransformationMethod.getInstance()

দৃশ্যমান:

editText.transformationMethod = SingleLineTransformationMethod.getInstance()

এটাই.


0

@ রাজকিরণ সরবরাহ করেছেন সঠিক উত্তর সম্পর্কে মাত্র একটি অতিরিক্ত মন্তব্য, আপনি যুক্ত করতে চাইতে পারেন

etPassword.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);

সাধারণ ইনপুট স্থিতিতে যাতে ব্যবহারকারীরা কীবোর্ডের অটো-পরামর্শের দ্বারা বিরক্ত না হন


0

ব্লককোট

চূড়ান্ত int [] গণনা = {0};

    showandhide.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            if(count[0] ==0)
            {
                password.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
                count[0]++;
            }
            else {

                password.setInputType(InputType.TYPE_CLASS_TEXT |
                        InputType.TYPE_TEXT_VARIATION_PASSWORD);
                showandhide.setText("Hide");
                count[0]--;
            }

        }
    });

0

নীরাজ টি এবং এভারটন ফার্নান্দিস রোজারিওর উত্তরগুলির ভিত্তিতে আমি কোটলিনে লিখেছি, যেখানে passwordআপনার বিন্যাসে একটি সম্পাদনা পাঠের আইডি রয়েছে।

// Show passwords' symbols.
private fun showPassword() {
    password.run {
        val cursorPosition = selectionStart
        transformationMethod = HideReturnsTransformationMethod.getInstance()
        setSelection(cursorPosition)
    }
}

// Show asterisks.
private fun hidePassword() {
    password.run {
        val cursorPosition = selectionStart
        transformationMethod = PasswordTransformationMethod.getInstance()
        setSelection(cursorPosition)
    }
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.