एडिटेक्स पर जब कीपैड पॉपअप को अक्षम करना है?


84

मेरे ऐप में मेरी सभी स्क्रीन का पहला दृश्य एक EditText है, इसलिए हर बार जब मैं स्क्रीन पर जाता हूँ तो ऑनस्क्रीन कीपैड पॉप अप होता है। मैं इस पॉपिंगअप को कैसे अक्षम कर सकता हूं और इसे कैसे सक्षम कर सकता हूं जब मैन्युअल रूप से EditText पर क्लिक किया जाता है ????

    eT = (EditText) findViewById(R.id.searchAutoCompleteTextView_feed);

    eT.setOnFocusChangeListener(new OnFocusChangeListener() {

        public void onFocusChange(View v, boolean hasFocus) {

            if(hasFocus){
            InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
            imm.hideSoftInputFromWindow(eT.getWindowToken(), 0);
            }
        }
    });

xml कोड:

<ImageView
    android:id="@+id/feedPageLogo"
    android:layout_width="45dp"
    android:layout_height="45dp"
    android:src="@drawable/wic_logo_small" />

<Button
    android:id="@+id/goButton_feed"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:text="@string/go" />

<EditText
    android:id="@+id/searchAutoCompleteTextView_feed"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_toLeftOf="@id/goButton_feed"
    android:layout_toRightOf="@id/feedPageLogo"
    android:hint="@string/search" />

<TextView
    android:id="@+id/feedLabel"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/feedPageLogo"
    android:gravity="center_vertical|center_horizontal"
    android:text="@string/feed"
    android:textColor="@color/white" />

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/ButtonsLayout_feed"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true" >

    <Button
        android:id="@+id/feedButton_feed"
        android:layout_width="wrap_content"
        android:layout_height="30dp"
        android:layout_margin="0dp"
        android:layout_weight="1"
        android:background="@color/white"
        android:text="@string/feed"
        android:textColor="@color/black" />

    <Button
        android:id="@+id/iWantButton_feed"
        android:layout_width="wrap_content"
        android:layout_height="30dp"
        android:layout_margin="0dp"
        android:layout_weight="1"
        android:background="@color/white"
        android:text="@string/iwant"
        android:textColor="@color/black" />

    <Button
        android:id="@+id/shareButton_feed"
        android:layout_width="wrap_content"
        android:layout_height="30dp"
        android:layout_margin="0dp"
        android:layout_weight="1"
        android:background="@color/white"
        android:text="@string/share"
        android:textColor="@color/black" />

    <Button
        android:id="@+id/profileButton_feed"
        android:layout_width="wrap_content"
        android:layout_height="30dp"
        android:layout_margin="0dp"
        android:layout_weight="1"
        android:background="@color/white"
        android:text="@string/profile"
        android:textColor="@color/black" />
</LinearLayout>

<ListView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/feedListView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_above="@id/ButtonsLayout_feed"
    android:layout_below="@id/feedLabel"
    android:textSize="15dp" >
</ListView>

तीसरा दृश्य (EditText) जहां फोकस है।


क्या आप अपना xml कोड पोस्ट कर सकते हैं।
user1213202

जवाबों:


177

प्रोजेक्ट मैनिफेस्ट फ़ाइल (AndroidManifest.xml) में सबसे अच्छा समाधान निहित है , activityनिर्माण में निम्नलिखित विशेषता जोड़ें

एंड्रॉयड: windowSoftInputMode = "stateHidden"


उदाहरण:

    <activity android:name=".MainActivity" 
              android:windowSoftInputMode="stateHidden" />

विवरण:

  • सॉफ्ट कीबोर्ड की स्थिति - चाहे वह छिपा हो या दिखाई दे - जब गतिविधि उपयोगकर्ता के ध्यान का केंद्र बन जाती है।
  • गतिविधि की मुख्य विंडो में किया गया समायोजन - चाहे वह सॉफ्ट कीबोर्ड के लिए जगह बनाने के लिए छोटा किया गया हो या खिड़की के हिस्से को सॉफ्ट कीबोर्ड द्वारा कवर किए जाने पर करंट फोकस को दृश्यमान बनाने के लिए इसकी सामग्री पैन हो।

में प्रस्तुत:

  • एपीआई स्तर 3।

डॉक्स से लिंक करें

नोट: यहां दिए गए मान ("StateUnspecified" और "AdjustUnspecified") थीम में सेट किए गए मानों को ओवरराइड करते हैं।


3
यह दृष्टिकोण विफल हो जाता है यदि आपके पास गतिविधि में पाठ फ़ील्ड्स का मिश्रण है, तो कुछ जो आप के लिए एक कीबोर्ड चाहते हैं, अन्य जिनके लिए आप नहीं करते हैं। ऐसे परिदृश्य में प्रति-पाठ क्षेत्र के आधार पर इसे कैसे प्राप्त किया जा सकता है, इसके लिए मेरा उत्तर देखें।
स्लोगन 621

@ slogan621please यहाँ प्रश्न को समझने में एक पल भी नहीं बचा। आप एक अलग स्पर्शरेखा पर हैं!
स्काईनेट

1
जब मैं हाल ही में अपना ऐप खोलूंगा तो यह काम नहीं कर रहा है।
मोहम्मद नौशाद

83

आपको EditText के ऊपर एक दृश्य बनाना है, जो 'नकली' फोकस लेता है:

कुछ इस तरह :

<!-- Stop auto focussing the EditText -->
<LinearLayout
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:background="@android:color/transparent"
    android:focusable="true"
    android:focusableInTouchMode="true">
</LinearLayout>

<EditText
    android:id="@+id/searchAutoCompleteTextView_feed"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:inputType="text" />

इस मामले में, मैंने फ़ोकस का अनुरोध करने के लिए एक LinearLayout का उपयोग किया। उम्मीद है की यह मदद करेगा।

यह पूरी तरह से काम किया ... Zaggo0 के लिए धन्यवाद


26
एंड्रॉइड को जोड़ने की तुलना में एक बेकार दृश्य जोड़ना एक उप-इष्टतम समाधान है: एक्टिविटी की मैनिफ़ेस्ट एंट्री में windowSoftInputMode = "StateHidden"।
क्रिस हॉर्नर

@ChrisHorner दोनों में आपको गतिविधि या लेआउट के लिए निर्दिष्ट करने की आवश्यकता है ... एक ही कष्टप्रद बात है .. दोनों इस समाधान के लिए अच्छी तरह से काम करते हैं।
निकोलस जाफेल

2
मैंने सभी समाधान की कोशिश की और यह ठीक से काम करने वाला एकमात्र है! धन्यवाद स्पष्ट और सरल रूप से
alfo888_ibg

बेकार विचार जोड़ना एक अच्छा विचार नहीं है जैसा कि @ क्रिसहॉर्नर ने कहा है, उनके द्वारा सुझाए गए अनुसार मैनिफ़ेस्ट फ़ाइल में एक विशेषता जोड़ें या कोड की इस पंक्ति को अपनी गतिविधि में जोड़ें InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
aB9

1
दृश्य पदानुक्रम का इतना बुरा कार्यान्वयन! मुझे लगता है कि यदि संभव हो तो इस तरह से बचना चाहिए।
सूद 5००

42
     edittext.setShowSoftInputOnFocus(false);

अब आप अपनी पसंद के किसी भी कस्टम कीबोर्ड का उपयोग कर सकते हैं।


धन्यवाद, यह यहां एकमात्र समाधान है जो मेरे लिए काम करता है + यह छोटा और आसान है।
मैक्स ओ

20
एपीआई स्तर 21 से इसकी उपलब्धता
जीथू पीएस

यह वही है जिसे मैं देख रहा था।
संजय जोशी

@ JithuP.S, यह कार्बन टाइटेनियम व्होस एपीआई स्तर पर क्यों काम कर रहा है ??
尤金寶 尤金寶

23

लोगों ने यहां कई शानदार समाधान सुझाए हैं, लेकिन मैंने इस सरल तकनीक का उपयोग अपने एडिटटेक्स्ट (जावा में कुछ भी नहीं है और AnroidManifest.xml की आवश्यकता है) के साथ किया है। सीधे EditText पर झूठी बात करने के लिए अपना ध्यान केंद्रित करने योग्य और ध्यान केंद्रित करें।

 <EditText
        android:id="@+id/text_pin"
        android:layout_width="136dp"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:textAlignment="center"
        android:inputType="numberPassword"
        android:password="true"
        android:textSize="24dp"
        android:focusable="false"
        android:focusableInTouchMode="false"/>

यहां मेरा इरादा ऐप लॉक गतिविधि में इस संपादन बॉक्स का उपयोग करना है जहां मैं उपयोगकर्ता से पिन इनपुट करने के लिए कह रहा हूं और मैं अपना कस्टम पिन पैड दिखाना चाहता हूं। Android Studio 2.1 पर minSdk = 8 और maxSdk = 23 के साथ परीक्षण किया गया

यहाँ छवि विवरण दर्ज करें


इसने मेरे जीवन को आसान बना दिया है stackoverflow.com/questions/9577304/…
मोहम्मद मंसूर

20

अपनी गतिविधि कक्षा में नीचे कोड जोड़ें।

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

जब उपयोगकर्ता EditText पर क्लिक करेगा तो कीबोर्ड पॉप-अप हो जाएगा


9

आप ऑनस्क्रीन कीबोर्ड को अक्षम करने के लिए निम्न कोड का उपयोग कर सकते हैं।

InputMethodManager im = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
im.hideSoftInputFromWindow(editText.getWindowToken(), 0);

1
और मैं इसे फिर से EditText.onClick (im.unhideSoftInputFromWindow (editText.getWindowToken (), 0);) या कुछ और का उपयोग करके सक्षम कर सकते हैं ??
हाउसफुल

8

दो सरल उपाय:

पहला समाधान एक्सपीएल फ़ाइल में कोड की लाइन के नीचे जोड़ा गया है। मेनिफेस्ट फ़ाइल (AndroidManifest.xml) में, गतिविधि निर्माण में निम्नलिखित विशेषता जोड़ें

एंड्रॉयड: windowSoftInputMode = "stateHidden"

उदाहरण:

<activity android:name=".MainActivity" 
          android:windowSoftInputMode="stateHidden" />

दूसरा समाधान गतिविधि में कोड की लाइन के नीचे जोड़ रहा है

//Block auto opening keyboard  
  this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

हम उपरोक्त किसी भी एक समाधान का उपयोग कर सकते हैं। धन्यवाद


5

InputMethodManager के लिए वैश्विक चर घोषित करें:

 private InputMethodManager im ;

OnCreate () के तहत इसे परिभाषित करें:

 im = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
 im.hideSoftInputFromWindow(youredittext.getWindowToken(), 0);

Oncreate () के अंदर उस संपादित पाठ पर onClickListener सेट करें:

 youredittext.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        im.showSoftInput(youredittext, InputMethodManager.SHOW_IMPLICIT);
    }
});

यह काम करेगा।


कृपया अपना कोड पोस्ट करें। निष्पादित करते समय आपको क्या मिल रहा है।
एंड्रोजेक

सभी कोड सवाल में है, जब मैं संपादित पाठ पर क्लिक करता हूं तो ऑनस्क्रीन कीपैड दिखाई नहीं देता है
हाउसफुल

क्या आप एमुलेटर या डिवाइस का उपयोग कर इसका परीक्षण कर रहे हैं। यदि आप एक एमुलेटर का उपयोग करके इसे आज़मा रहे हैं तो आपको सॉफ्टकीज़ नहीं मिलेंगे। डिवाइस का उपयोग करके इसका परीक्षण करें। यह काम करेगा।
एंड्रोजेक

हाँ, मैं परीक्षण करने के लिए एक उपकरण का उपयोग कर रहा हूँ
हाउसफुल

ह्म्म्म अजीब बात है। यदि आप अपना कोड पोस्ट कर सकते हैं, तो जिस पद्धति में आपने लिखा है, वह कुछ मदद की हो सकती है। या फिर उपरोक्त कोड मेरे डिवाइस में बिल्कुल ठीक काम कर रहा है।
एंड्रोजेक

4

निम्न कोड का उपयोग करें, इसे नीचे लिखें onCreate()

InputMethodManager inputManager = (InputMethodManager)
                                   getSystemService(Context.INPUT_METHOD_SERVICE); 
inputManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(),
                                   InputMethodManager.HIDE_NOT_ALWAYS);         
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

4

यह कोशिश करो ....... मैं कोड का उपयोग करके इस समस्या को हल करता हूं: -

EditText inputArea;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
inputArea = (EditText) findViewById(R.id.inputArea);

//This line is you answer.Its unable your click ability in this Edit Text
//just write
inputArea.setInputType(0);
}

कुछ भी यू डिफॉल्ट कैलकुलेटर द्वारा इनपुट नहीं किया जा सकता है लेकिन यू किसी भी स्ट्रिंग को सेट कर सकता है।

कोशिश करो


3

अच्छा समाधान के लिए @AB धन्यवाद

    android:focusableInTouchMode="false"

यह मामला अगर आप संपादन पाठ में कीबोर्ड को अक्षम कर देंगे, तो बस संपादन योग्य टैगलाइन में Android: focusableInTouchMode = "false" जोड़ें।

मेरे लिए एंड्रॉइड स्टूडियो में काम करें 3.0.1 minsdk 16, maxsdk26


1
क्या यह A.Bउत्तर देने के लिए एक टिप्पणी है ? या यह मूल प्रश्न का उत्तर है? यदि यह A.Bउत्तर देने के लिए एक टिप्पणी है , तो आपको StackOverflow द्वारा उपलब्ध कराए गए टिप्पणी विकल्प का उपयोग करना चाहिए और मूल प्रश्न के इस उत्तर को हटा देना चाहिए।
डेविड वाल्शॉट्स

खेद है कि अगर मैं हल किए गए उत्तर का जवाब नहीं समझता। मैं कहता हूं कि मेरी समस्या को दूर करने के लिए एक अच्छे उत्तर के लिए एबी को धन्यवाद देता हूं .. अगर मैं गलत हूं, तो मैं उस उत्तर को हटा सकता हूं, माफ करें @DavidWalshots।
NZXT

2

इसके साथ कोशिश करें:

EditText yourEditText= (EditText) findViewById(R.id.yourEditText); 
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.showSoftInput(yourEditText, InputMethodManager.SHOW_IMPLICIT); 

बंद करने के लिए, आप उपयोग कर सकते हैं:

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
 imm.hideSoftInputFromWindow(yourEditText.getWindowToken(), 0); 

इसे अपने कोड में इस तरह आज़माएं:

ed = (EditText)findViewById(R.id.editText1);

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);  
imm.hideSoftInputFromWindow(ed.getWindowToken(), 0);  

ed.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);  
        imm.showSoftInput(ed, InputMethodManager.SHOW_IMPLICIT);  
    }
});

यह उसी तरह से काम कर रहा है जैसे पहले था .... किसी भी तरह के बदलाव हैं जो मुझे लेआउट में करने की आवश्यकता है ??? इस EditText दृश्य के लिए ??
हाउसफुल

ठीक है, अब यह कुछ लेआउट विशेषताओं को जोड़ने के बाद काम करता है ... एंड्रॉइड: क्लिक करने योग्य = "सच" एंड्रॉइड: कर्सरविहीन = "झूठा" एंड्रॉइड: ध्यान देने योग्य = "झूठा" धन्यवाद
हाउसफुल

no.do एक बात। edittext.setOnFocusChangeListener () विधि और कोशिश में कीबोर्ड कोड को छिपाने के लिए
user1213202

यह समाधान होगा यदि आप कॉलिंग छुपाने का उपयोग करने के लिए बिल्कुल निर्दिष्ट कर सकते हैं। कीबोर्ड अपने onCreate और onResume के बाद पॉप अप होता है
emrah Ahmet

2

खैर, मुझे भी यही समस्या थी और मैंने एक्सएमएल फ़ाइल में फ़ोकस करने योग्य बात की।

<EditText
            android:cursorVisible="false"
            android:id="@+id/edit"
            android:focusable="false"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

आप शायद सुरक्षा की भी तलाश कर रहे हैं। इससे उसमें भी मदद मिलेगी।


1

अपनी onCreate()विधि में निम्नलिखित कोड का उपयोग करें-

    editText = (EditText) findViewById(R.id.editText);
    editText.requestFocus();
    editText.postDelayed(new Runnable() {
        public void run() {
            InputMethodManager keyboard = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            keyboard.hideSoftInputFromWindow(
                    editText.getWindowToken(), 0);
        }
    }, 200);

1

केवल एक चीज जो आपको करने की आवश्यकता है, वह यह है कि android:focusableInTouchMode="false"EditText को xml में जोड़ें और सभी को thats। (यदि किसी को अभी भी यह जानने की ज़रूरत है कि यह कैसे करना है तो आसान तरीका है)


1

Xamarin उपयोगकर्ताओं के लिए:

[Activity(MainLauncher = true, 
        ScreenOrientation = ScreenOrientation.Portrait, 
        WindowSoftInputMode = SoftInput.StateHidden)] //SoftInput.StateHidden - disables keyboard autopop

1
       <TextView android:layout_width="match_parent"
                 android:layout_height="wrap_content"

                 android:focusable="true"
                 android:focusableInTouchMode="true">

                <requestFocus/>
      </TextView>

      <EditText android:layout_width="match_parent"
                android:layout_height="wrap_content"/>

1

यदि आप Xamarin का उपयोग कर रहे हैं तो आप इसे जोड़ सकते हैं

Activity[(WindowSoftInputMode = SoftInput.StateAlwaysHidden)]

इसके बाद आप OnCreate () विधि में इस लाइन को जोड़ सकते हैं

youredittext.ShowSoftInputOnFocus = false;

यदि लक्षित डिवाइस उपरोक्त कोड का समर्थन नहीं करता है, तो आप नीचे दिए गए कोड को EditText क्लिक इवेंट में उपयोग कर सकते हैं

InputMethodManager Imm = (InputMethodManager)this.GetSystemService(Context.InputMethodService);
Imm.HideSoftInputFromWindow(youredittext.WindowToken, HideSoftInputFlags.None);

1

मुझे कोड में मेरे लिए अच्छी तरह से काम करने के लिए निम्नलिखित पैटर्न मिला, जहां मैं इनपुट प्राप्त करने के लिए एक संवाद दिखाना चाहता हूं (उदाहरण के लिए, टेक्स्ट फ़ील्ड में प्रदर्शित स्ट्रिंग एक संवाद में चेकबॉक्स की सूची से बने चयन का परिणाम है, बजाय पाठ कीबोर्ड के माध्यम से दर्ज किया गया)।

  1. संपादन क्षेत्र पर नरम इनपुट फ़ोकस को अक्षम करें। मैं संपूर्ण गतिविधि के लिए अक्षम नहीं कर सकता, क्योंकि संपादन क्षेत्र हैं मैं चाहता हूं कि कीबोर्ड का उपयोग उसी लेआउट में किया जाए।
  2. पाठ फ़ील्ड में प्रारंभिक क्लिकों में फ़ोकस परिवर्तन होता है, बार-बार क्लिक करने पर क्लिक ईवेंट प्राप्त होता है। इसलिए मैं दोनों को ओवरराइड करता हूं (यहां मैं कोड को रिफलेक्टर नहीं करता हूं ताकि दोनों हैंडलर एक ही काम कर सकें):

    tx = (TextView) m_activity.findViewById(R.id.allergymeds);
    if (tx != null) {
        tx.setShowSoftInputOnFocus(false);
        tx.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View view, boolean hasFocus) {
                if (hasFocus) {
                    MedicationsListDialogFragment mld = new MedicationsListDialogFragment();
                    mld.setPatientId(m_sess.getActivePatientId());
                    mld.show(getFragmentManager(), "Allergy Medications Dialog");
                }
            }
        });
        tx.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                MedicationsListDialogFragment mld = new MedicationsListDialogFragment();
                mld.setPatientId(m_sess.getActivePatientId());
                mld.show(getFragmentManager(), "Allergy Medications Dialog");
            }
        });
    }
    

0

एक एंड्रॉइड ऐप में मैं निर्माण कर रहा था, मैं क्षैतिज रूप से EditTextएक LinearLayoutव्यवस्था में तीन एस था । मुझे नरम कीबोर्ड को तब दिखाई देता है जब टुकड़ा लोड होता है। सेटिंग पर focusableऔर focusableInTouchModeसच करने के अलावा LinearLayout, मुझे सेट descendantFocusabilityकरना था blocksDescendants। में onCreate, मैं requestFocusपर बुलाया LinearLayout। इसने कुंजीपटल को खंडित होने पर प्रकट होने से रोक दिया।

लेआउट -

    <LinearLayout
       android:id="@+id/text_selector_container"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:weightSum="3"
       android:orientation="horizontal"
       android:focusable="true"
       android:focusableInTouchMode="true"
       android:descendantFocusability="blocksDescendants"
       android:background="@color/black">

       <!-- EditText widgets -->

    </LinearLayout>

में onCreate-mTextSelectorContainer.requestFocus();


0

यदि किसी को अभी भी सबसे आसान समाधान की तलाश है, तो निम्न विशेषता को trueअपने मूल लेआउट पर सेट करें

android:focusableInTouchMode="true"

उदाहरण:

<android.support.constraint.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:focusableInTouchMode="true">

.......
......
</android.support.constraint.ConstraintLayout>

मतदाता नीचे, कृपया अपने तर्क नीचे टिप्पणी करने से पहले!
अजमल सलीम

0

EditText को सक्षम और अक्षम करने के लिए इसका उपयोग करें ...।

InputMethodManager imm;

imm = (InputMethodManager)
getApplicationContext().getSystemService(Context.INPUT_METHOD_SERVICE);

if (isETEnable == true) {

    imm.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT, 0);
    ivWalllet.setImageResource(R.drawable.checkbox_yes);
    etWalletAmount.setEnabled(true);
    etWalletAmount.requestFocus();
    isETEnable = false;
    } 
else {

    imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY,0);
    ivWalllet.setImageResource(R.drawable.checkbox_unchecked);
    etWalletAmount.setEnabled(false);
    isETEnable = true;
    }

0

इस उत्तर की कोशिश करो,

editText.setRawInputType(InputType.TYPE_CLASS_TEXT);
editText.setTextIsSelectable(true);

नोट: केवल एपीआई 11+ के लिए


0
private InputMethodManager imm;

...


editText.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        v.onTouchEvent(event);
        hideDefaultKeyboard(v);
        return true;
    }
});

private void hideDefaultKeyboard(View et) {
  getMethodManager().hideSoftInputFromWindow(et.getWindowToken(), 0);
}

private InputMethodManager getMethodManager() {
        if (this.imm == null) {
            this.imm = (InputMethodManager)  getContext().getSystemService(android.content.Context.INPUT_METHOD_SERVICE);
        }
  return this.imm;
}

-1

अपनी गतिविधि के किसी भी टेक्स्टव्यू के लिए (या एंड्रॉइड के साथ नकली खाली टेक्स्टफाइव बनाएं: लेआउट_ एक्सपोज़र = "0dp" एंड्रॉइड: लेआउट_हाइट = "0 डीपी") और इस टेक्स्टव्यू के लिए अगले जोड़ें: एंड्रॉइड: textIsSelectric = "true"



-1

बस android:focusable="false"विशेष रूप EditTextसे लेआउट xml में संपत्ति जोड़ने की जरूरत है । फिर आप EditTextबिना कीपैड वाले पॉपअप के लिए क्लिक लिस्ट लिख सकते हैं ।


-1

इसका उपयोग करके समस्या को हल किया जा सकता है, किसी भी मान को editText inputType सेट करने की आवश्यकता नहीं है, बस नीचे की पंक्ति जोड़ें, editText.setTextIsSelectable (true);


अरे, एक उत्तर लिखने के लिए धन्यवाद! हालाँकि, चूंकि यहाँ पहले से ही बहुत सारे उत्तर हैं, इसलिए यह और भी मददगार हो सकता है यदि आपने वास्तव में इसे रंजीथ कुमार के उत्तर पर टिप्पणी के रूप में लिखा हो तो इसे अपना उत्तर बनाने के बजाय। यह उल्लेख करना भी दिलचस्प हो सकता है कि बाहर निकलने का प्रभाव क्या inputTypeहोगा। लेकिन ऐसा लगता है कि यह जानना अच्छा होगा कि क्या मैं उस दूसरे उत्तर के साथ गया था, इसलिए यदि आप इसे अपने स्वयं के उत्तर के रूप में रखने पर जोर देते हैं, तो कृपया वैसे भी एक टिप्पणी छोड़ने पर विचार करें।
मार्क
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.