সম্পাদনা পাঠের সময় কীপ্যাড পপআপ অক্ষম করবেন কীভাবে?


85

আমার অ্যাপ্লিকেশনটিতে আমার সমস্ত পর্দার প্রথম দৃশ্যটি হ'ল একটি সম্পাদনা পাঠ্য, তাই আমি যতবারই স্ক্রিনে যাই অনস্ক্রিন কীপ্যাড পপ আপ হয়। এডিট টেক্সটটিতে ম্যানুয়ালি ক্লিক করার পরে আমি কীভাবে এই পপিংআপটিকে অক্ষম করতে পারি এবং সক্ষম করতে পারি ????

    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);
            }
        }
    });

এক্সএমএল কোড:

<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>

তৃতীয় দর্শন (এডিটেক্সট) হল যেখানে ফোকাস focus


আপনি কি আপনার এক্সএমএল কোড পোস্ট করতে পারেন।
ব্যবহারকারী 1213202

উত্তর:


178

সর্বোত্তম সমাধানটি প্রজেক্ট ম্যানিফেস্ট ফাইলের মধ্যে রয়েছে (অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল ) , activityনির্মাণে নিম্নলিখিত বৈশিষ্ট্য যুক্ত করুন

অ্যান্ড্রয়েড: উইন্ডোজসফট ইনপুটমড = "স্টেটহিডেড"


উদাহরণ:

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

বর্ণনা:

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

এতে পরিচয় করিয়ে দেওয়া:

  • এপিআই স্তর 3।

দস্তাবেজের লিঙ্ক

দ্রষ্টব্য: মানগুলি এখানে সেট করা হয়েছে ("stateUnspecified" এবং "editUnspecified" ব্যতীত) থিমে সেট করা ওভাররাইড মানগুলি।


4
এই ক্রিয়াকলাপে আপনার কাছে পাঠ্য ক্ষেত্রগুলির মিশ্রণ থাকলে এই পদ্ধতির ব্যর্থতা রয়েছে, এমন কয়েকটি যার জন্য আপনি কিবোর্ড রাখতে চান, অন্যেরা যার জন্য আপনি না। এই জাতীয় দৃশ্যে প্রতি-পাঠ্য ক্ষেত্রের ভিত্তিতে কীভাবে এটি অর্জন করা যায় তার জন্য আমার উত্তর দেখুন।
স্লোগান 621

@ স্লোগান 21১২ দয়া করে এখানে প্রশ্নটি বোঝার জন্য একটি মুহূর্ত রাখুন। আপনি অন্য একটি স্পর্শক উপর!
স্কাইনেট

83

আপনাকে সম্পাদনা পাঠের উপরে একটি ভিউ তৈরি করতে হবে, এটি একটি 'নকল' ফোকাস নিয়েছে:

কিছুটা এইরকম :

<!-- 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" />

এই ক্ষেত্রে, আমি ফোকাসের অনুরোধ করতে একটি লিনিয়ারলআউট ব্যবহার করেছি। আশাকরি এটা সাহায্য করবে.

এটি পুরোপুরি কাজ করেছে ... জাগগো0-কে ধন্যবাদ


26
অযৌক্তিক ভিউ যুক্ত করা অ্যান্ড্রয়েড যুক্ত করার সাথে তুলনা করে একটি উপ-অনুকূল সমাধান: উইন্ডোসফট ইনপুটমড = ক্রিয়াকলাপের ম্যানিফেস্ট এন্ট্রিতে "stateHided"।
ক্রিস হর্নার

ক্রিসহর্নারের জন্য আপনাকে ক্রিয়াকলাপ বা বিন্যাসের জন্য নির্দিষ্ট করা দরকার ... একই বিরক্তিকর বিষয় .. দু'জনই এই সমাধানের জন্য ভাল কাজ করে।
নিকোলাস জাফল

4
আমি সমস্ত সমাধান চেষ্টা করেছিলাম এবং এই একমাত্র সঠিকভাবে কাজ করছে! ধন্যবাদ পরিষ্কার এবং সহজভাবে
alfo888_ibg

@ ক্রিসহর্নার বলেছেন যে অকেজো ভিউ যুক্ত করা ভাল ধারণা নয় কারণ তার পরামর্শ অনুসারে ম্যানিফেস্ট ফাইলে একটি অ্যাট্রিবিউট যুক্ত করুন বা আপনার ক্রিয়াকলাপের এই InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
কোডটির

4
এরকম একটি খারাপ বাস্তবায়ন দেখুন শ্রেণিবিন্যাসের! আমি মনে করি যদি সম্ভব হয় তবে এড়ানো উচিত।
Sud007

43
     edittext.setShowSoftInputOnFocus(false);

এখন আপনি নিজের পছন্দ মতো যে কোনও কাস্টম কীবোর্ড ব্যবহার করতে পারেন।


ধন্যবাদ, এটি এখানে একমাত্র সমাধান যা আমার পক্ষে কাজ করে + এটি সংক্ষিপ্ত এবং সহজ।
ম্যাক্স ও।

20
এটি এপিআই স্তর 21 থেকে উপলব্ধ
জিথু পিএস

এই আমি খুঁজছিলাম ছিল।
সঞ্জয় জোশী

@ জিতুপি.এস, কেন এটি কার্বন টাইটানিয়াম যার এপিআই স্তরটি 19 এর মধ্যে কাজ করছে?
22 漢子

23

লোকেরা এখানে অনেক দুর্দান্ত সমাধানের পরামর্শ দিয়েছে, তবে আমি আমার এডিটেক্সট (জাভা এবং অ্যানড্রয়েড ম্যানিফেস্ট.এক্সএমএল কিছুই প্রয়োজন নেই) দিয়ে এই সহজ কৌশলটি ব্যবহার করেছি। কেবল আপনার ফোকাসযোগ্য এবং ফোকাসেবলআইনটচমোডকে এডিট টেক্সটে সরাসরি মিথ্যাতে সেট করুন।

 <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"/>

আমার উদ্দেশ্য এখানে অ্যাপ লক ক্রিয়াকলাপে এই সম্পাদনা বাক্সটি ব্যবহার করা যেখানে আমি ব্যবহারকারীদের পিনটি ইনপুট করতে বলছি এবং আমি আমার কাস্টম পিন প্যাডটি প্রদর্শন করতে চাই। অ্যান্ড্রয়েড স্টুডিও ২.১ এ minSdk = 8 এবং সর্বোচ্চএসডিপি = 23 দিয়ে পরীক্ষিত

এখানে চিত্র বর্ণনা লিখুন


এটি আমার জীবনকে সহজ করে তুলেছে স্ট্যাকওভারফ্লো.com
মোহাম্মদ মনসুর

20

আপনার ক্রিয়াকলাপ শ্রেণীর নীচে কোড যুক্ত করুন।

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

ব্যবহারকারী সম্পাদনা পাঠ্যে ক্লিক করলে কীবোর্ড পপ-আপ হবে


10

অনস্ক্রিন কীবোর্ড অক্ষম করার জন্য আপনি নিম্নলিখিত কোড ব্যবহার করতে পারেন।

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

4
এবং আমি এডিট টেক্সট.অনক্লিক (im.unhideSoftInputFromWindow (editText.getWindowToken (), 0);) ব্যবহার করে আবার এটি সক্ষম করতে পারি ??
হাউসফ্লাই

8

দুটি সহজ সমাধান:

প্রথম সমাধানটি ম্যানিফেস্ট এক্সএমএল ফাইলের কোডের নীচে যুক্ত করা হয়। ম্যানিফেস্ট ফাইলটিতে (অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল) ক্রিয়াকলাপ রচনায় নিম্নলিখিত বৈশিষ্ট্য যুক্ত করুন

অ্যান্ড্রয়েড: উইন্ডোজসফট ইনপুটমড = "স্টেটহিডেড"

উদাহরণ:

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

দ্বিতীয় সমাধান ক্রিয়াকলাপের নীচে কোডের লাইন যুক্ত করছে

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

আমরা উপরের যে কোনও একটি সমাধান ব্যবহার করতে পারি। ধন্যবাদ


5

ইনপুটমেথডম্যানেজারের জন্য বিশ্বব্যাপী পরিবর্তনশীল ঘোষণা করুন:

 private InputMethodManager im ;

অনক্রিয়েটের অধীনে () এটি সংজ্ঞায়িত করুন:

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

অনক্রিট () এর অভ্যন্তরে সেই সম্পাদনা পাঠ্যে অনক্লিকলিস্টনার সেট করুন:

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

এটি কাজ করবে।


আপনার কোড পোস্ট করুন। মৃত্যুদণ্ড কার্যকর করার সময় আপনি কী পাচ্ছেন।
AndroGeek

সমস্ত কোড প্রশ্নে আছে, আমি সম্পাদনা পাঠ্যের উপর ক্লিক করলে
অনস্ক্রিন কীপ্যাডটি প্রদর্শিত

আপনি কি এমুলেটর বা একটি ডিভাইস ব্যবহার করে এটি পরীক্ষা করছেন? যদি আপনি এটি একটি এমুলেটর ব্যবহার করে চেষ্টা করছেন তবে আপনি সফটকিগুলি পাবেন না। এটি একটি ডিভাইস ব্যবহার করে পরীক্ষা করুন। এটা কাজ করবে।
AndroGeek

হ্যাঁ আমি পরীক্ষার জন্য একটি ডিভাইস ব্যবহার করছি
হাউসফ্লাই

হুমমম আজব। আপনি যদি আপনার কোড পোস্ট করতে পারেন, আপনি যে পদ্ধতিতে লিখেছেন তবে এটি কিছুটা সহায়ক হতে পারে। অন্যথায় উপরের কোডটি আমার ডিভাইসে একেবারে সূক্ষ্মভাবে কাজ করছে।
AndroGeek

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

ভাল সমাধানের জন্য @ এএবি ধন্যবাদ

    android:focusableInTouchMode="false"

এই ক্ষেত্রে যদি আপনি পাঠ্য সম্পাদনা করতে কীবোর্ড অক্ষম করে রাখেন তবে কেবল অ্যান্ড্রয়েড যুক্ত করুন: ফোকাসেবলআইনটচমড = "মিথ্যা" ট্যাগলাইনটিতে ।

অ্যান্ড্রয়েড স্টুডিওতে আমার জন্য কাজ করুন .1.০.১ মিনিট 16 মিনিট, ম্যাক্সডেক 26


4
এটি কি A.Bউত্তর দেওয়ার জন্য একটি মন্তব্য ? নাকি এটি মূল প্রশ্নের উত্তর? যদি A.Bএটির উত্তরের মন্তব্য হয় , তবে আপনার স্ট্যাকওভারফ্লো প্রদত্ত মন্তব্য বিকল্পটি ব্যবহার করা উচিত এবং মূল প্রশ্নের উত্তরটি মুছে ফেলা উচিত।
ডেভিড ওয়ালস্কটস

দুঃখিত যদি আমি সমাধান করা উত্তরটি উত্তর না বুঝতে পারি। আমি বলছি আমার সমস্যা পরিষ্কার করার জন্য একটি ভাল উত্তরের জন্য এবিকে ধন্যবাদ জানাই .. যদি আমি ভুল করি তবে আমি উত্তরটি মুছে ফেলতে পারি, দুঃখিত @ ডেভিডওয়ালস্কটস।
এনজেডএক্সটি

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 দর্শন জন্য ??
হাউসফ্লাই

ঠিক আছে, এখন এটি কয়েকটি লেআউট বৈশিষ্ট্য যুক্ত করার পরে কাজ করে ... অ্যান্ড্রয়েড: ক্লিকযোগ্য = "সত্য" অ্যান্ড্রয়েড: কার্সারভিজিবল = "মিথ্যা" অ্যান্ড্রয়েড: ফোকাসেবল = "মিথ্যা" আপনাকে ধন্যবাদ
হাউসফ্লাই

কোন জিনিস.ইডিটেক্সট.সেটঅনেটফোকস চেঞ্জলিস্টার () পদ্ধতিতে কীবোর্ড কোডটি আড়াল করে লিখুন এবং চেষ্টা করুন
ব্যবহারকারী 1213202

হাইডসফ্ট ইনপুট কল করতে কখন আপনি ঠিক তা নির্দিষ্ট করতে পারলে এই সমাধানটি হবে। কীবোর্ডটি স্বয়ংক্রিয়ভাবে
অনক্রিট

2

আপনার কেবলমাত্র কাজটি হ'ল android:focusableInTouchMode="false"এক্সএমএল এডিটেক্সট যুক্ত করা এবং সমস্ত কিছু ts এটির জন্য যদি কারও এখনও জানা প্রয়োজন তবে কীভাবে এটি সহজ পদ্ধতিতে করা যায়)


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

জামারিন ব্যবহারকারীদের জন্য:

[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

আপনি যদি জামারিন ব্যবহার করেন তবে আপনি এটি যুক্ত করতে পারেন

Activity[(WindowSoftInputMode = SoftInput.StateAlwaysHidden)]

এরপরে আপনি এই লাইনটি অনক্রিয়েট () পদ্ধতিতে যুক্ত করতে পারেন

youredittext.ShowSoftInputOnFocus = false;

যদি লক্ষ্যযুক্ত ডিভাইস উপরের কোডটি সমর্থন না করে তবে আপনি সম্পাদনা পাঠ্য ক্লিক ইভেন্টে নীচের কোডটি ব্যবহার করতে পারেন

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

একটি Android অ্যাপ্লিকেশান আমি তৈরী করতে লাগলেন, আমি তিন ছিল 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

সম্পাদনা পাঠ সক্ষম ও অক্ষম করতে এটি ব্যবহার করুন ....

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

আপনার ক্রিয়াকলাপের যে কোনও পাঠ্যদর্শনের জন্য (বা অ্যান্ড্রয়েডের সাথে জাল ফাঁকা পাঠ্যদর্শন তৈরি করুন: লেআউট_উইথ = "0 ডিপি" অ্যান্ড্রয়েড: লেআউট_হাইট = "0 ডিপি") এবং পরবর্তী এই পাঠ্যদর্শনটির জন্য যুক্ত করুন: Android: TextIsSelectable = "সত্য"



-1

এক্সএমএল লেআউটে android:focusable="false"বিশেষত সম্পত্তি যুক্ত করা দরকার EditText। তারপরে আপনি EditTextকীপ্যাড পপআপ ছাড়াই ক্লিক লিস্টনার লিখতে পারেন ।


-1

এটি ইস্যুটি বাছাই করা যায়, কোনও মানকে এডিটেক্সট ইনপুট টাইপ সেট করার দরকার নেই, কেবল নীচের লাইনটি যুক্ত করুন, editText.setTextIsSelectable (সত্য);


আরে, উত্তর লেখার জন্য ধন্যবাদ! তবে, যেহেতু এখানে ইতিমধ্যে অনেকগুলি উত্তর রয়েছে তাই এটি আরও কার্যকর হতে পারে যদি আপনি এটি রঞ্জিত কুমারের উত্তরটির পরিবর্তে নিজের উত্তর না দিয়ে উত্তর হিসাবে মন্তব্য হিসাবে লিখেন। এটি ছেড়ে যাওয়ার প্রভাব কী হবে তা উল্লেখ করা আকর্ষণীয়ও inputTypeহতে পারে। তবে দেখে মনে হচ্ছে এটি অন্যরকম জবাব দিয়েছি কিনা তা জানা ভাল হবে, তাই আপনি যদি এটিকে নিজের উত্তর হিসাবে রাখার জন্য জোর দিয়ে থাকেন তবে দয়া করে সেখানে কোনও মন্তব্য রেখে বিবেচনা করুন।
চিহ্নিত করুন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.