android - একক লাইন edittext সীমাবদ্ধ




android-edittext (14)

@ অ্যালেক্স জি অনকিলিস্টেনার () সত্যিই ভাল কাজ করে, কিন্তু আমি এটি মুখ্য অ্যাক্টিভিটি থেকে দৌড়ালাম এবং তাই এটি সামান্য পরিবর্তন করতে হয়েছিল:

EditText searchBox = (EditText) findViewById(R.id.searchbox);
searchBox.setOnKeyListener(new OnKeyListener() {

    public boolean onKey(View v, int keyCode, KeyEvent event) {

        if (event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER) {
            //if the enter key was pressed, then hide the keyboard and do whatever needs doing.
            InputMethodManager imm = (InputMethodManager) MainActivity.this.getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(searchBox.getApplicationWindowToken(), 0);

            //do what you need on your enter key press here

            return true;
        }

        return false;
    }
});

আমি এই যে কেউ একই কাজ করার চেষ্টা করে আশা করি।

সম্ভাব্য অনুলিপি: android-singleline-true-not-working-for-edittext

<EditText 
    android:id="@+id/searchbox"  
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:lines="1"
    android:scrollHorizontally="true"
    android:ellipsize="end"
    android:layout_weight="1"
    android:layout_marginTop="2dp"
    android:drawablePadding="10dp"
    android:background="@drawable/edittext"
    android:drawableLeft="@drawable/folder_full"
    android:drawableRight="@drawable/search"
    android:paddingLeft="15dp"
    android:hint="search...">
</EditText>

আমি উপরের EditText শুধুমাত্র একক লাইন করতে চাই। এমনকি ব্যবহারকারী "প্রবেশ করান" চাপলেও কার্সারটি দ্বিতীয় লাইনটিতে নামতে না পারে। যে কেউ আমাকে এটা করতে সাহায্য করতে পারেন?


Programatically:

textView.setMaxLines(1);

আপনার edittext এই লাইন যোগ করুন

অ্যান্ড্রয়েড ইনপুট = "পাঠ্য"


আপনার কোড পরিবর্তে কোড ব্যবহার করুন

<EditText 
    android:id="@+id/searchbox"  
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:lines="1"
    android:singleLine="true"
    android:scrollHorizontally="true"
    android:ellipsize="end"
    android:layout_weight="1"
    android:layout_marginTop="2dp"
    android:drawablePadding="10dp"
    android:background="@drawable/edittext"
    android:drawableLeft="@drawable/folder_full"
    android:drawableRight="@drawable/search"
    android:paddingLeft="15dp"
    android:hint="search..."/>

আমি অতীতের সাথে android:singleLine="true" সাথে এটি করেছি android:singleLine="true" এবং তারপরে "enter" কীটির জন্য শ্রোতা যোগ করা:

((EditText)this.findViewById(R.id.mytext)).setOnKeyListener(new OnKeyListener() {

    public boolean onKey(View v, int keyCode, KeyEvent event) {

        if (event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER) {
            //if the enter key was pressed, then hide the keyboard and do whatever needs doing.
            InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(getApplicationWindowToken(), 0);

            //do what you need on your enter key press here

            return true;
        }

        return false;
    }
});

এই কোড চেষ্টা করুন

android:inputType="textPersonName"

এখন android:singleLine বৈশিষ্ট্যটি android:singleLine । একক লাইন হতে একটি সম্পাদনা EditText জন্য আপনার EditText এই বৈশিষ্ট্যগুলি যোগ করুন।

android:inputType="text"
android:imeOptions="actionNext"
android:maxLines="1"

এছাড়াও এটি অ্যান্ড্রয়েড সম্পত্তিটি মনোযোগ দেওয়ার ক্ষেত্রে গুরুত্বপূর্ণ: ইনপুট টাইপ পাঠ্য মাল্টিলাইন । যদি তাই হয়, বৈশিষ্ট্য অ্যান্ড্রয়েড: একক লাইন, android: imeOptions, android: ellipsize এবং android maxlines উপেক্ষা করা হবে এবং আপনার EditText যাইহোক মাল্টি লাইন গ্রহণ করা হবে।


প্রত্যেকেরই এক্সএমএল উপায় দেখানো হচ্ছে, অন্য একজন ব্যক্তি ছাড়াও EditText এর সেট ম্যাক্সলাইন পদ্ধতি কলিং দেখিয়েছেন। যাইহোক, যখন আমি যে কাজ, এটা কাজ করে না। আমার জন্য কাজ করে একটি জিনিস ইনপুট টাইপ সেটিং ছিল।

EditText editText = new EditText(this);
editText.setInputType(InputType.TYPE_CLASS_TEXT);

এটি AZ, AZ, 0-9, এবং বিশেষ অক্ষরগুলিকে অনুমতি দেয় তবে এন্টার চাপতে দেয় না। যখন আপনি এন্টার টিপবেন, তখন আপনার অ্যাপ্লিকেশনে প্রযোজ্য হলে এটি পরবর্তী GUI উপাদানতে যাবে।

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

InputFilter[] filters = new InputFilter[1];
filters[0] = new InputFilter.LengthFilter(8);
editText.setFilters(filters);

এটি সম্পাদনা অক্ষরে 8 তে সর্বোচ্চ অক্ষর সেট করে। এই সব আপনি সাহায্য আশা করি।


ব্যবহার

android:ellipsize="end"
android:maxLines="1"

android:singleLine এখন android:singleLine হয়। developer.android.com/reference/android/R.attr.html#singleLine থেকে:

এই ধ্রুবক API লেভেল 3 এ বর্জন করা হয়েছে।

এই বৈশিষ্ট্য অব্যবহৃত হয়। স্ট্যাটিক টেক্সটের লেআউট পরিবর্তন করার পরিবর্তে maxLines ব্যবহার করুন এবং সম্পাদনাযোগ্য পাঠ্য দর্শনের পরিবর্তে ইনপুট টাইপ বৈশিষ্ট্যতে পাঠ্য textMultiLine ফ্ল্যাগটি ব্যবহার করুন (যদি একক লাইন এবং ইনপুট টাইপ সরবরাহ করা হয় তবে ইনপুট টাইপ পতাকাগুলি একক লাইনের মানকে ওভাররাইড করবে)।

সুতরাং আপনি android:inputType="textEmailSubject" সেট করতে পারেন android:inputType="textEmailSubject" বা ক্ষেত্রের বিষয়বস্তু সাথে মেলে যে অন্য কোন মান।


android:singleLine="true" অন্তর্ভুক্ত করুন android:singleLine="true"


android:singleLine="true" হিসাবে android:singleLine="true" এখন তাই ব্যবহার android:singleLine="true" হয়

অ্যান্ড্রয়েড maxLines = "1"

স্ট্যাটিক টেক্সটের লেআউট পরিবর্তন করার পরিবর্তে সর্বাধিক লাইন ব্যবহার করুন এবং সম্পাদনাযোগ্য পাঠ্য দর্শনের পরিবর্তে ইনপুট টাইপ বৈশিষ্ট্যতে পাঠ্য মাল্টিলাইন ফ্ল্যাগটি ব্যবহার করুন (যদি একক লাইন এবং ইনপুট টাইপ সরবরাহ করা হয় তবে ইনপুট টাইপ পতাকাগুলি একক লাইনের মানকে ওভাররাইড করবে)।


android:imeOptions="actionDone"

আমার জন্য কাজ।





android-edittext