10

में डायलॉग में ListView EditText डिस्प्ले में फोकस समस्या मुझे सूची दृश्य में डायलॉग पर एडिटटेक्स्ट शामिल करना है, जहां कोई उपयोगकर्ता एडिटटेक्स्ट में टेक्स्ट टाइप कर सकता है और इसकी सामग्री खो नहीं जानी चाहिए।एंड्रॉइड

उदाहरण के लिए, मेरे पास सूचीदृश्य में 10 संपादन टेक्स्ट है, यदि उपयोगकर्ता पहले संपादन टेक्स्ट में "11" टाइप करता है, तो दूसरा संपादन टेक्स्ट में "22", "22" तीसरे संपादन टेक्स्ट में "33" और उस उपयोगकर्ता स्क्रॉल के बाद दसवें संपादन टेक्स्ट पर सूचीदृश्य को नीचे स्क्रॉल करें उस समय पहले संपादन टेक्स्ट पर फिर से पहले संपादन टेक्स्ट में "11" होना चाहिए, दूसरे संपादन टेक्स्ट "22" के लिए और इसी तरह, मैंने संपादन टेक्स्ट में पाठ बदलते समय संपादन टेक्स्ट को सेट करके इसे हासिल कर लिया है।

मैं निफ्टीडियलॉग का उपयोग संवाद के रूप में करता हूं (Link)। मुद्दा यह है कि एडिटटेक्स्ट को यादृच्छिक रूप से ध्यान केंद्रित किया गया (यह कभी-कभी काम करता था और कभी-कभी नहीं)।

मैं

एंड्रॉयड स्थापित किया है: descendantFocusability = "afterDescendants"

ListView में

और सेट

एंड्रॉयड: windowSoftInputMode = "adjustPan"

में मैनिफेस्ट फ़ाइल, लेकिन यह काम नहीं है ठीक से एनजी।

यहां समस्या क्या हो सकती है?

+0

आपको और कोड दिखाना होगा! – AADProgramming

+0

एक गतिविधि बनाएं, निफ्टीडियलॉग (उसमें कस्टम व्यू सेट करें) दिखाएं और उस कस्टम व्यू में सूचीदृश्य लें, अपनी पंक्ति फ़ाइल में एडिटटेक्स्ट लें, ArrayList में 10 डमी डेटा लें और बेस एडाप्टर पर सेट करें, यह जांचने के बजाय कि क्या आपके पास कोई फोकस समस्या है या नहीं । – Jayesh

+0

@AADTechnical: अगर आपको इस मुद्दे के लिए कोई सुझाव या वैकल्पिक समाधान है तो कृपया मुझे सूचित करें। – Jayesh

उत्तर

0

अब और उस विशेष स्थिति कृपया अपने एडाप्टर कोड शेष

करना होगा प्रदान के लिए सूची में स्ट्रिंग मान पुन: असाइन edittext पर एक textwatcher जोड़ने onTextchange पद्धति पर प्रत्येक स्ट्रिंग के शुरू में आकार 10 और जगह खाली की स्ट्रिंग प्रकार की एक अन्य सूची का उपयोग करें
+0

मैंने पहले से ही यह हासिल किया है, स्क्रॉलिंग करते समय मैं संपादन टेक्स्ट में दर्ज मूल्य रख सकता हूं और सूचीदृश्य में रह सकता हूं, समस्या केवल मुझे कुछ संपादन टेक्स्ट में कर्सर नहीं मिलती है। जब मैं इसे क्लिक करता हूं तो मैं संपादन टेक्स्ट में भी टाइप कर सकता हूं। – Jayesh

+0

अंतिम सक्रिय संपादनक्षेत्र की स्थिति रखें और यदि अंतिम होल्ड स्थिति और गेटव्यू स्थिति समान है तो अनुरोध करें फ़ोकस सेट करें अन्यथा नहीं –

0

क्या आप स्पष्ट रूप से संपादन टेक्स्ट के लिए फ़ोकस का अनुरोध कर रहे हैं? myEditText.requestFocus()

आपके प्रश्न से, ऐसा लगता है कि आप केंद्रित संपादन टेक्स्ट को उपयोगकर्ता स्क्रॉल के रूप में बदलने के लिए चाहते हैं। क्या आप उस व्यवहार को स्पष्ट कर सकते हैं जो आप उम्मीद करते हैं और क्या हो रहा है?

0

मुझे कुछ समय पहले EditText फोकस के साथ यह समस्या थी और महसूस किया कि मौजूदा विचारों पर विशेषताओं को सेट करना काम नहीं करेगा। मेरे मामले में यह कुंजीपैड को पॉप अप करने से बचाना था, लेकिन मुझे विश्वास है, वही समाधान आपके मामले में भी काम करेगा।

अन्य सभी विचारों के ऊपर android:focusable="true" और android:focusableInTouchMode="true" के साथ एक डमी लेआउट जोड़ें। इस तरह फोकस इस लेआउट (जो शीर्ष पर है) पर जाएगा और ListView में EditText के साथ आपकी यादृच्छिक फ़ोकस समस्या हल हो जाएगी।

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