সম্পাদনাটি একক লাইনে সীমাবদ্ধ করুন


312

সম্ভাব্য সদৃশ: এন্ড্রয়েড-সিঙ্গললাইন-এডিটেক্সট-এর জন্য সত্য-নয় working

<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শুধুমাত্র একক লাইন রাখতে উপরেরটি করতে চাই । এমনকি ব্যবহারকারী "প্রবেশ" চাপলে এমনকি কার্সারটি দ্বিতীয় লাইনে নামা উচিত নয়। কেউ আমাকে এটি করতে সাহায্য করতে পারে?


60
ব্যবহারandroid:singleLine=true
প্রবীণকুমার

6
অ্যান্ড্রয়েড প্রতিস্থাপন করুন: লাইন = "1" এর সাথে android:singleLine=true
মোহাম্মদ আজহারউদ্দিন শায়খ

3
সত্যটি অবশ্যই "সত্য" এর উদ্ধৃতিতে থাকতে হবে
ডিপউইন্টার

8
সিঙ্গললাইন অবচিত হয়ে যাওয়ায় আপনি ম্যাক্সলাইনস = 1 এবং ইনপুট টাইপ = পাঠ্য ব্যবহার করতে পারেন।
সানলওভার 3

4
ব্যবহার করা android:inputType="textVisiblePassword"সমস্যার সমাধান করবে
সাদ মাহমুদ

উত্তর:


556

ব্যবহার করুন android:maxLines="1"এবংandroid:inputType="text"

আপনি অ্যান্ড্রয়েড: ম্যাক্সলাইন বৈশিষ্ট্যটি ভুলে গেছেন । এবং অ্যান্ড্রয়েডের জন্য উল্লেখ করুন : ইনপুটটাইপ আপনার উদাহরণের সাথে নীচে এই ফলাফলটি দেবে:

<EditText 
    android:id="@+id/searchbox"  
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:maxLines="1"
    android:inputType="text"
    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>

17
বর্তমানের গ্রিপস আইডিইতে @ লুকাসজ'সেরিয়ায়ান'গ্রেলা, কোনও হ্রাসের ইঙ্গিত দেখানো হয়নি এবং অ্যান্ড্রয়েড: ম্যাক্সলাইনগুলি একটি লাইনে ইনপুট সীমাবদ্ধ করে না
mjn

10
একক লাইন ব্যবহার করুন = সত্য
দক্ষিণেশ খত্রি

2
@ প্রবীণ: আপনি কি দয়া করে রেফারেন্স দিতে পারেন যেখানে এটি অ্যান্ড্রয়েড বলেছেন : সিঙ্গললাইন অবচিত? আমি এটি এপিআই 23 এর জন্য দেখতে পাচ্ছি না document আমি ডকুমেন্টেশনে এটি উল্লিখিত দেখতে পাই না এবং 23.0.1এসডিকে দিয়ে যখন ব্যবহার করি তখন কোনও
সতর্কতাও

5
এপিআই স্তর 3 থেকে হ্রাস করা হয়েছে See দেখুন: ডেভেলপার.অ্যান্ড্রয়েড
লুইস

3
আপনি যদি কেবল অ্যান্ড্রয়েড ব্যবহার করেন: ম্যাক্সলাইনস = "1" কাজ করবে না o সুতরাং আপনাকে অ্যান্ড্রয়েড: ইনপুট টাইপ = "পাঠ্য" এবং ম্যাক্সলাইনস -1 উভয়ই ব্যবহার করতে হবে তবে এটি পুরোপুরি কার্যকর হবে
হনুমান

193

ব্যবহার android:singleLine="true"হ্রাস করা হয়।

কেবলমাত্র আপনার ইনপুট প্রকারটি যুক্ত করুন এবং ম্যাক্সলাইন 1 এ সেট করুন এবং সবকিছু ঠিকঠাক কাজ করবে

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

80
আপনি যদি ইনপুটটাইপ নির্দিষ্ট না করেন তবে এটি কাজ করবে না যা আমি খুঁজে পেয়েছি।
মাইক্রো

10
আপনার অধিকার. ইনপুটটাইপ = "টেক্সটমલ્ટিয়ালাইন" আপনাকে মাল্টিলাইন দেবে এমনকি আপনি যদি সর্বাধিক লাইনটি 1 এ সেট করে থাকেন
রাল্ফগ্যাব

2
নোট করুন যে এর জন্য android:inputType="number"ইতিমধ্যে সর্বোচ্চ 1 লাইন রয়েছে।
মাইকার

যদি আমার পাঠ্যদর্শনটি দীর্ঘ হয় এবং আমি এটি বহু লাইন চাই তবে এটি নতুন লাইনের অক্ষরের সাথে নয় This
htafoya

@ এইচটিফোয়ায় এই কোড স্নিপেট পাঠ্য একক লাইনে সম্পাদনা করার জন্য কাজ করে। তবে আপনি এখানে একটি নতুন প্রশ্ন শুরু করতে পারেন।
রাল্ফগ্যাব

54

android:singleLineএখন অবচয় করা হয়েছে। ডকুমেন্টেশন থেকে :

এই ধ্রুবকটি এপিআই স্তরের 3-এ অবনতি হয়েছে।

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

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


29
আপনি যদি একটি সাধারণ রেখার পাঠ্য ক্ষেত্র চান, তবে ব্যবহার করুন android:inputType="text"
ফোনিক্স

আপনাকে ধন্যবাদ মিঃ বাংলো, টেক্সট মাল্টলাইন আমার পক্ষে কাজ করেছে!
ব্যবহারকারী 1510006

18

আপনাকে অবশ্যই এই লাইনটি আপনার সম্পাদনা পাঠের এক্সএমএলে যুক্ত করতে হবে:

android:maxLines="1"

3
অন্যান্য maxLinesinputType
উত্তরে

16
android:maxLines="1"
android:inputType="text"

আপনার বিন্যাসে সম্পাদনা পাঠ্য ট্যাগটিতে একটি লাইন থাকতে উপরের কোডটি যুক্ত করুন।

android:singleLine="true" is deprecated

এই ধ্রুবকটি এপিআই স্তরের 3-অবনতি হয়েছে

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


13

এখন android:singleLineঅ্যাট্রিবিউটটি অবচয় করা হয়েছে। একক লাইন হওয়ার EditTextজন্য দয়া করে আপনার এ বৈশিষ্ট্যগুলি যুক্ত করুন EditText

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

11

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

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

11

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

android:inputType="text"

তারপরে আমি ইনপুট পাঠ্যের জন্য সর্বাধিক দৈর্ঘ্য নির্ধারণ করব:

android:maxLines="1"

সেগুলি এখন 2 এর দরকার।



5

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

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

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

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

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

এটি সম্পাদনা পাঠ্যে সর্বাধিক অক্ষর 8 এ সেট করে। আশা করি এগুলি আপনাকে সাহায্য করবে।





1

@ অ্যালেক্স জি ওনকিলিস্টনার () সত্যিই ভাল কাজ করে তবে আমি এটিকে মেইনএকটিভিটি থেকে চালিয়েছি এবং তাই এটি এটিকে কিছুটা সংশোধন করতে হয়েছিল:

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

আমি আশা করি এটি যে কেউ একই কাজ করার চেষ্টা করছে তাদের সহায়তা করবে।


1

সীমাবদ্ধ করার জন্য আপনাকে কেবলমাত্র "সত্য" এ একক লাইন বিকল্পটি সেট করতে হবে।

android:singleLine="true"

3
সিঙ্গললাইন অবচিত!
জামশেদ কামরান

1

এছাড়াও সম্পত্তি অ্যান্ড্রয়েড: ইনপুট টাইপটি টেক্সট মাল্টিলাইন হলে মনোযোগ দেওয়া গুরুত্বপূর্ণ । যদি তা হয় তবে অ্যান্ড্রয়েড: সিঙ্গললাইন, অ্যান্ড্রয়েড: আইমেপশনস, অ্যান্ড্রয়েড: উপবৃত্তাকার এবং অ্যান্ড্রয়েড ম্যাক্সলাইনগুলি উপেক্ষা করা হবে এবং আপনার এডিটেক্সট কোনওভাবেই মাল্টলাইনগুলি গ্রহণ করবে।



1

যেমনটি android:singleLine="true"এখন অবমূল্যায়িত তাই ব্যবহার

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

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


1

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

<EditText 
    android:id="@+id/searchbox"  
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:maxLines="1"
    android:inputType="text"
    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..."/>

0

এক্সএমএল ফাইলটিতে সম্পাদনা পাঠ্যে এই বৈশিষ্ট্যগুলি যুক্ত করুন

 android:maxLines="1"


0

আপনার এডিট টেক্সটে এই লাইনটি অবশ্যই যুক্ত করতে হবে

android:maxLines="1"

এবং অন্য একটি জিনিস, সেটটি ভুলে যাবেন না android:inputType(যা কিছু আপনি চান, পাঠ্য, ফোন .., তবে আপনাকে এটি সেট করতে হবে)


0

এক্সএমএল ফাইল এ। শুধু যোগ কর

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.