এডিট টেক্সট যুক্ত করা কোনও পাঠ্য ইনপুট এডিটটেক্সট নয়। পরিবর্তে class শ্রেণিটি ব্যবহার করে স্যুইচ করুন


94

আমি এ এর EditTextঅভ্যন্তরীণটি ব্যবহার করছি TextInputLayout, তবে সমর্থন লাইব্রেরিটি ২৩.২.০ এ উন্নীত করার পরে, আমি এই সতর্কতাটি লগকটে পেয়েছি, একটি নিয়মিত EditTextএবং ক এর মধ্যে পার্থক্য কী TextInputEditText? আমি এর জন্য কোনও দলিল খুঁজে পাচ্ছি না।


আমি আমার সমর্থন লাইব্রেরিকে ২৩.২.১ এ আপগ্রেড করেছি তবে এখনও টেক্সটইনপুটএডিটটেক্সট আমার কোডে সমাধান করা যায় না । কীভাবে সমাধান করেছেন?
এডিজা ক্রুসার

উত্তর:


110

আমি এটিও ভাবছিলাম, ড্যানিয়েল উইলসন ডকুমেন্টেশন সংগ্রহ করেছিলেন, তবে প্রশিক্ষণহীন চোখে এটির অর্থ খুব বেশি নয়। এগুলি সম্পর্কে যা কিছু আছে তা এখানে রয়েছে: "এক্সট্রাক্ট মোড" স্থানটি খুব কম দেখালে যে ধরণের দৃষ্টিকোণ প্রদর্শন করা হয় তার উল্লেখ করে, উদাহরণস্বরূপ ফোনে ল্যান্ডস্কেপ। আমি ইনপুট পদ্ধতি সম্পাদক (আইএমই) হিসাবে গুগল কীবোর্ডের সাথে গ্যালাক্সি এস 4 ব্যবহার করছি।

দৃশ্যমান আইএমই ছাড়াই ল্যান্ডস্কেপ ইউআই

ফোকাসের উপর ভিত্তি করে (বর্ণনায়) আপনি TextInputLayoutসম্পাদকের বাইরে ইঙ্গিতটি কার্যকর অবস্থায় দেখতে পাচ্ছেন । এখানে বিশেষ কিছু নয়, TextInputLayoutএটি করার কথা।

দৃশ্যমান আইএমই ছাড়াই ল্যান্ডস্কেপ ইউআই

ল্যান্ডস্কেপ ইউআই খালি নাম ফিল্ড সম্পাদনা করছে

নামটি সম্পাদনা করাতে আপনি দেখতে পাবেন যে IME আপনি সম্পাদনা করছেন তার ইঙ্গিত দেয় না।

ল্যান্ডস্কেপ ইউআই খালি নাম ফিল্ড সম্পাদনা করছে

ল্যান্ডস্কেপ ইউআই খালি বর্ণনা ক্ষেত্র সম্পাদনা করছে

বিবরণ সম্পাদনা করে আপনি দেখতে পাচ্ছেন যে IME আপনি সম্পাদনা করছেন তার ইঙ্গিত দেয়।

ল্যান্ডস্কেপ ইউআই খালি বর্ণনা ক্ষেত্র সম্পাদনা করছে

লেআউট এক্সএমএল

দুটি ক্ষেত্রের মধ্যে পার্থক্য হ'ল তাদের টাইপ EditTextভিএস TextInputEditText। গুরুত্বপূর্ণ বিষয় এখানে যে TextInputLayoutহয়েছে android:hintএই ক্ষেত্রে যখন এবং আবৃত editText, TextInputEditTextজাভা কোডের এর কয়েক লাইন একটি বড় পার্থক্য তোলে।

নাম ক্ষেত্র

<android.support.design.widget.TextInputLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:hint="Item Name"
    >
    <EditText
        android:id="@+id/name"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        />
</android.support.design.widget.TextInputLayout>

বর্ণনা ক্ষেত্র

<android.support.design.widget.TextInputLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:hint="Item Description"
    >
    <android.support.design.widget.TextInputEditText
        android:id="@+id/description"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="textMultiLine"
        android:minLines="4"
        android:scrollbars="vertical"
        />
</android.support.design.widget.TextInputLayout>

4
আমি আমার সমর্থন লাইব্রেরিকে ২৩.২.১ এ আপগ্রেড করেছি তবে এখনও টেক্সটইনপুটএডিটটেক্সট আমার কোডে সমাধান করা যায় না। কীভাবে সমাধান করেছেন?
এডিজা ক্রুসার

আপনারও কি ডিজাইনের লাইব্রেরি আছে? এটি সমর্থনে নয়।
TWiStErRob

4
দ্রুত দ্রষ্টব্য: ডক্স অনুসারে android:hintসম্পত্তিটি TextInputEditTextপরিবর্তে প্রবেশের কথা TextInputLayout
DriesOeyen

4
@ লাক্সসিফার আমি এটিকে ফেলে রেখে
টেক্সটইনপুট লেআউটে

4
@ জীট.চঞ্চাওয়াত এটি উত্সাহিত, তাই এটি নিরাপদ। আপনার সর্বদা সবচেয়ে সাধারণ ধরণের ব্যবহার করা উচিত যা আপনাকে প্রয়োজনীয় কার্যকারিতা (= API) সরবরাহ করে। ব্যবহার করা TextInputEditTextহ'ল ইউআই এর একটি বাস্তবায়ন বিশদ।
TWiStErRob

35

এটির জন্য কোনও নথিপত্র নেই, তবে ক্লাসটি EditTextএকটি একক অতিরিক্ত বৈশিষ্ট্য সহ নিয়মিত :

এই ক্লাসটি ব্যবহার করা আমাদের যখন 'এক্সট্রাক্ট' মোডে থাকে তখন আইএমইতে একটি ইঙ্গিত প্রদর্শন করতে দেয়।

বিশেষত এটি সেট করে EditorInfo.hintText। আপনি TextInputLayoutক্লাসে লক্ষ্য করবেন আপনি ইঙ্গিতটি নির্দিষ্ট করতে পারবেন এবং শিশু EditTextউইজেটের অংশ হিসাবে না হয়ে এটির উপস্থিতি ।

যদি আপনার এটি করার দরকার হয় তবে আপনার এমন একটি ব্যবহার করা উচিত TextInputEditTextযাতে এটিতে আপনাকে নির্দিষ্ট করা ইঙ্গিত তথ্যটির দিকে মনোযোগ দেয় TextInputLayout


4
কোন উদাহরণ? আপনি কী পরামর্শ দিচ্ছেন তা সম্পর্কে আমার কোনও ধারণা নেই

4

এগুলি মূলত একই জিনিস, তবে আমি মনে করি TextInputEditTextএর আরও বৈশিষ্ট্য এবং সম্ভবত বৈশিষ্ট্য রয়েছে। আমি পরিবর্তিত হয়েছি TextInputEditTextএবং সবকিছুই কাজ করেছে এবং স্ট্যান্ডার্ডের সাথে আগের মতো দেখেছিল EditText


আমি ইতিমধ্যে টেক্সটইনপুটআলআউট ব্যবহার করেছি, আমি পাঠ্য ইনপুট এডিটটেক্সট
সিলভিয়া এইচ

দুঃখিত, আমি টেক্সটইনপুট এডিটটেক্সট সম্পর্কে বলছিলাম তবে লেআউটটি বললাম। আমি উত্তরটি সম্পাদনা করেছি
নিক মউইন

0

পার্থক্যটি হ'ল যখন আপনার ডিভাইস ল্যান্ডস্কেপ মোডে থাকে TextInputEditTextতখন ইঙ্গিতটি দেখায়, তা EditTextকরবে না।


-3

আমার এই সমস্যাটি ছিল এবং আমার এক্সএমএল ফাইলটিতে এই লাইনটি মুছে ফেলা হয়েছে:

android: fitsSystemWindows = "true"

এবং ত্রুটি অদৃশ্য হয়ে গেছে।

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