आप स्थिर विधि UserDictionary.Words.addWord(....)
उपयोग कर सकते हैं: Link
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
// On JellyBean & above, you can provide a shortcut and an explicit Locale
UserDictionary.Words.addWord(this, "MadeUpWord", 10, "Mad", Locale.getDefault());
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.CUPCAKE) {
UserDictionary.Words.addWord(this, "MadeUpWord", 10, UserDictionary.Words.LOCALE_TYPE_CURRENT);
}
आप अपने प्रकट करने के लिए इस अनुमति जोड़ने की आवश्यकता होगी:
<uses-permission android:name="android.permission.WRITE_USER_DICTIONARY"/>
जोड़ा गया शब्द Settings > Language & input > Personal dictionary
में दिखाई देगा।
यदि आप अपना खुद का सॉफ्ट कीबोर्ड लागू कर रहे हैं, तो मेरा सुझाव है कि आप Creating an Input Method पर जाएं। सुझाव आमतौर पर Candidates View
में दिखाए जाते हैं। डिफ़ॉल्ट रूप से, InputMethodService#onCreateCandidatesView()
शून्य लौटाता है। सुझाव बार के कार्यान्वयन को वापस करने के लिए आपको इस विधि को ओवरराइड करना चाहिए।
यहां एक नमूना प्रोजेक्ट है जो अभ्यर्थियों को लागू करता है: SoftKeyboard।
अधिक जानकारी:
शब्द और वाक्यांश सुझावों को देखने के उम्मीदवारों में जाना। & बनाने के तरीके के बारे में जानकारी यह उपरोक्त वर्णित नमूना परियोजना में है।
जहां तक मुझे पता है, शब्दों/वाक्यांशों का सुझाव देने के लिए डेवलपर की ज़िम्मेदारी है। एंड्रॉइड उन लोगों को प्रदान नहीं करता है। आपको शायद शब्दकोशों के एक सेट की आवश्यकता होगी - प्रत्येक भाषा/लोकेल के लिए जो आप समर्थन करने की योजना बना रहे हैं। आप उपयोगकर्ता द्वारा निर्दिष्ट शब्दों का शब्दकोश भी बनाए रखना चाहते हैं।
Android के डिफ़ॉल्ट कुंजीपटल इन का उपयोग करता है: Link
आप इनमें से किसी एक डाउनलोड, खोल दे और एक पाठ संपादक के साथ खुला है:
dictionary=main:en,locale=en,description=English,date=1402373178,version=47
word=the,f=222,flags=,originalFreq=222
word=to,f=215,flags=,originalFreq=208
word=of,f=214,flags=,originalFreq=214
word=and,f=212,flags=,originalFreq=212
word=in,f=210,flags=,originalFreq=210
.... 165,635 more lines
के रूप में स्पष्ट, आवृत्ति निर्धारित करने में एक महत्वपूर्ण भूमिका निभाता है एक सुझाव के रूप में एक शब्द की उपयुक्तता। यदि आप ta
टाइप करते हैं तो आप शायद tachometer
का सुझाव नहीं देना चाहते हैं। आप शायद take
का सुझाव देना चाहते हैं - आवृत्ति आपको वहां मदद करती है।
स्वचालितसुधार:
word=id,f=99,flags=,originalFreq=99
shortcut=I'd,f=whitelist
झंडे औचित्य से संकेत मिलता है:
word=goddamn,f=0,flags=offensive,originalFreq=62
यहां तक कि अगर आप इन शब्दकोशों उपयोग करने का निर्णय, कोड उन्हें पार्स और सार्थक सुझाव प्राप्त आप से आना होगा करने के लिए।
दो लेख (पीटर Kankowski द्वारा दोनों) के बारे में predictive text input
& spelling correction
बात:
Using DAWG for predictive text input
Using Ternary DAGs for Spelling Correction
CandidatesView:
पहली बात CandidatesView के बारे में पता होना चाहिए : यह वैकल्पिक है। वास्तव में, LatinIME
(एंड्रॉइड का डिफ़ॉल्ट सॉफ्ट कीबोर्ड) इसका उपयोग नहीं करता है। इसके बजाए LatinIME
का अपना कार्यान्वयन है - SuggestionStripView
- जो समान है। InputMethodService#onCreateCandidatesView()
का डिफ़ॉल्ट व्यवहार शून्य वापस करना है। यदि आप अपना खुद का कार्यान्वयन प्रदान करना चुनते हैं, तो इस विधि को ओवरराइड न करें।
आपको यह तय करने की आवश्यकता है कि आपके उम्मीदवारों को क्या दिखना चाहिए। एक संभावित कार्यान्वयन HorizontalScrollView
हो सकता है। आपके सुझावों का मूल्यांकन करने के बाद (उदाहरण के लिए, उपयोगकर्ता "as" लिखना शुरू कर देता है, और आपका सुझाव-तर्क आपको List<String>
देता है जिसमें "है", "था", "सहायता", "पूछें", "पूछा", "पूछना", "मान लीजिए"), & TextViews
0 स्ट्रिंग्स को HorizontalScrollView(LinearLayout)
पर रखें। इस तरह, उपयोगकर्ता क्षैतिज स्क्रॉल कर सकते हैं और उस पर क्लिक करके इच्छित शब्द का चयन कर सकते हैं।
यह तय करने के लिए आप पर निर्भर है कि एपीआई का उपयोग करना है या CandidatesView
स्वयं को संभालना है। यदि आप एपीआई का उपयोग करना चाहते हैं, तो InputMetodService#onCreateCandidatesView()
ओवरराइड करें, अपना कस्टम लेआउट बढ़ाएं, फिर इसे वापस करें। इसके लिए एक संदर्भ रखें, ताकि जब आवश्यक हो तो आप इसे अपडेट कर सकते हैं। CandidatesView's
दृश्यता को नियंत्रित करने के लिए, विधि setCandidatesViewShown(boolean)
का उपयोग करें।
मुझे लगता है कि आप एक [ऑटोकंपलेटटेक्स्टव्यू] (http://developer.android.com/reference/android/widget/AutoCompleteTextView.html) का उपयोग करना चाहते हैं, इसके बजाय ... –
तो मैं पुष्टि करना चाहता हूं कि AutoCompleteTextView नीचे दिखाया गया है एडिटटेक्स्ट जिसमें हम टेक्स्ट दर्ज कर रहे हैं या इसे कीबोर्ड के ऊपर भी "सुझाव" के रूप में इस्तेमाल किया जा सकता है जो सीधे कीबोर्ड लेआउट – Kunal
से ऊपर दिखाए जाते हैं, मुझे नहीं लगता कि एक तरीका है। मैंने पहले एक समान सवाल पूछा और कहा गया था, क्योंकि यह व्यक्तिगत कीबोर्ड और उसके कार्यान्वयन पर निर्भर है, इसे लागू करने का कोई तरीका नहीं है। (मैं इसे जोड़ने के बजाय इसे छिपाना चाहता था लेकिन यह वही सिद्धांत है)। और AutoCompleteTextView सुझावों के साथ एक कॉम्बो बॉक्स की तरह है। यह कीबोर्ड पर सुझाव नहीं जोड़ता है। – kha