উত্তর:
ডিফল্টরূপে EditText
অ্যান্ড্রয়েডের সমস্ত উইজেটগুলি বহু-রেখাযুক্ত।
এখানে কিছু নমুনা কোড রয়েছে:
<EditText
android:inputType="textMultiLine" <!-- Multiline input -->
android:lines="8" <!-- Total Lines prior display -->
android:minLines="6" <!-- Minimum lines -->
android:gravity="top|left" <!-- Cursor Position -->
android:maxLines="10" <!-- Maximum Lines -->
android:layout_height="wrap_content" <!-- Height determined by content -->
android:layout_width="match_parent" <!-- Fill entire width -->
android:scrollbars="vertical" <!-- Vertical Scroll Bar -->
/>
inputType
অন্তত যোগ lines
এবং minLines
গুণাবলী অবহেলা । আমার কাছে তা থাকত inputType="phone"
এবং লাইন বৈশিষ্ট্যাবলী কোনো প্রভাব ছিল
IndexOutOfBoundsException
যত তাড়াতাড়ি আপনি কারণ কিছু টাইপ করারandroid:inputType="textMultiLine"
আপনি এটি ব্যবহার করা আরও ভাল দেখতে পাবেন:
<EditText
...
android:inputType="textMultiLine"
/>
এটি android:singleLine
হ্রাস করা হয় কারণ ।
singleLine
তাদের উত্তরের হ্রাসপ্রাপ্ত অংশটি সরিয়ে দিয়েছে (অনেক দিন আগে)। প্রশ্নটি নিজেই, এটি তাদের উত্তরের সবচেয়ে গুরুত্বপূর্ণ অংশ।
IndexOutOfBoundsException
আপনি কিছু টাইপ করার সাথে সাথে একটি কারণ ঘটায় । মাল্টলাইন এখন ডিফল্ট।
এটি আমার পক্ষে কাজ করে, আসলে এই 2 টি বৈশিষ্ট্য গুরুত্বপূর্ণ: ইনপুট টাইপ এবং লাইন । এছাড়াও, আপনার একটি স্ক্রোলবারের প্রয়োজন হতে পারে, নীচের কোডটিতে কীভাবে এটি তৈরি করা যায় তা দেখানো হয়েছে:
<EditText
android:id="@+id/addr_edittext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="top|left"
android:inputType="textEmailAddress|textMultiLine"
android:lines="20"
android:minLines="5"
android:scrollHorizontally="false"
android:scrollbars="vertical" />
এইভাবে আমি নীচে কোড স্নিপেট প্রয়োগ করেছি এবং এটি ভাল কাজ করছে। আশা করি, এটি কারও সাহায্য করবে।
<EditText
android:id="@+id/EditText02"
android:gravity="top|left"
android:inputType="textMultiLine"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:lines="5"
android:scrollHorizontally="false"
/>
চিয়ার্স! ... ধন্যবাদ।
এটি চেষ্টা করুন, আপনার সম্পাদনা পাঠ্য দর্শনটিতে এই লাইনগুলি যুক্ত করুন, আমি আমার যুক্ত করব। আপনি এটি বুঝতে পেরেছেন তা নিশ্চিত করুন
android:overScrollMode="always"
android:scrollbarStyle="insideInset"
android:scrollbars="vertical"
<EditText
android:inputType="textMultiLine"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText_newprom_description"
android:padding="10dp"
android:lines="5"
android:overScrollMode="always"
android:scrollbarStyle="insideInset"
android:minLines="5"
android:gravity="top|left"
android:scrollbars="vertical"
android:layout_marginBottom="20dp"/>
এবং আপনার জাভা ক্লাসে নীচে এই সম্পাদনা পাঠ্যের ক্লিক তালিকার উপর ক্লিক করুন, আমি আপনার অনুসারে আমার, চায়ের নাম যুক্ত করব।
EditText description;
description = (EditText)findViewById(R.id.editText_newprom_description);
description.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
view.getParent().requestDisallowInterceptTouchEvent(true);
switch (motionEvent.getAction() & MotionEvent.ACTION_MASK){
case MotionEvent.ACTION_UP:
view.getParent().requestDisallowInterceptTouchEvent(false);
break;
}
return false;
}
});
এটা আমার জন্য ভাল কাজ করে
এডিটেক্সটে একক লাইনের সম্পত্তি রয়েছে has আপনি এক্সএমএলে বা সেটসিংলাইন (মিথ্যা) কল করে সেট করতে পারেন; http://developer.android.com/reference/android/widget/TextView.html#setSingleLine%28%29
এগুলি সবই দুর্দান্ত তবে আপনার উপরের স্তরের স্ক্রোল ভিউয়ের ভিতরে আপনার সম্পাদনাটি কার্যকর হবে না :) সম্ভবত সবচেয়ে সাধারণ উদাহরণ "সেটিংস" ভিউ যা এতগুলি আইটেম রয়েছে যা সেগুলি দৃশ্যমান ক্ষেত্রের বাইরে চলে যায়। এই ক্ষেত্রে আপনি সেগুলিকে স্ক্রোলযোগ্য করে তুলতে এগুলি সমস্তকে স্ক্রোল ভিউতে রেখেছেন। আপনার সেটিংসে আপনার একাধিক লাইন স্ক্রোলযোগ্য সম্পাদনা পাঠ্যের প্রয়োজন হলে এর স্ক্রোলটি কাজ করবে না।
<EditText
android:id="@id/editText" //id of editText
android:gravity="start" // Where to start Typing
android:inputType="textMultiLine" // multiline
android:imeOptions="actionDone" // Keyboard done button
android:minLines="5" // Min Line of editText
android:hint="@string/Enter Data" // Hint in editText
android:layout_width="match_parent" //width editText
android:layout_height="wrap_content" //height editText
/>
থিম ব্যবহারের পূর্বে নির্ধারিত রেখার সংখ্যাটি নিষ্ক্রিয় করতে xml বৈশিষ্ট্যটি ব্যবহার করুন: android:lines="@null"
আমি http://www.pcsalt.com/android/edittext-with-single-line-line-wrapping-and-done-action-in-android/ এর কাছ থেকে এটি শিখেছি , যদিও আমি নিজে ওয়েবসাইটটি পছন্দ করি না। আপনি যদি মাল্টলাইন BUT চান তবে এন্টার বোতামটি পোস্ট বোতাম হিসাবে ধরে রাখতে চান, তালিকা দর্শনের "অনুভূমিকভাবে স্ক্রোলিং" কে মিথ্যাতে সেট করুন।
android:scrollHorizontally="false"
এটি যদি এক্সএমএলে কাজ না করে তবে প্রোগ্রামগতভাবে অদ্ভুতভাবে কাজ করে।
listView.setHorizontallyScrolling(false);
<EditText
android:hint="Address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:inputType="textMultiLine|textNoSuggestions"
android:id="@+id/edittxtAddress"
android:layout_marginLeft="@dimen/textsize2"
android:textColor="@android:color/white"
android:scrollbars="vertical"
android:minLines="2"
android:textStyle="normal" />
এবং ক্রিয়াকলাপে "\ n" মুছে ফেলার জন্য ব্যবহারকারীরা পরের লাইনে টিপুন
String editStr= edittxtAddress.getText().toString().trim();
MyString= editStr.replaceAll("\n"," ");
যদি কেউ AppCompatEditText ব্যবহার করে থাকে তবে আপনার ইনপুট টাইপ = "টেক্সট মাল্টলাইন" সেট করতে হবে এখানে কোডটি আপনি অনুলিপি করতে পারেন
<androidx.appcompat.widget.AppCompatEditText
android:padding="@dimen/_8sdp"
android:id="@+id/etNote"
android:minLines="6"
android:singleLine="false"
android:lines="8"
android:scrollbars="vertical"
android:background="@drawable/rounded_border"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/_25sdp"
android:layout_marginTop="32dp"
android:layout_marginEnd="@dimen/_25sdp"
android:autofillHints=""
android:gravity="start|top"
android:inputType="textMultiLine"
/>
পটভূমি জন্য
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle"
xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="@dimen/_5sdp"/>
<stroke android:width="1dp" android:color="#C8C8C8"/>
</shape>
আর একটি ঝরঝরে কাজটি হ'ল android:minHeight
পাশাপাশি ব্যবহার করা android:layout_height="wrap_content"
। আপনি খালি যখন সম্পাদনার আকার সেট করতে পারেন এবং যখন ব্যবহারকারী স্টাফ দেয়, এটি একাধিক লাইন সহ ব্যবহারকারী কতটা ইনপুট অনুসারে প্রসারিত করে।