第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

由CursorLoader支持的AutoCompleteTextView

由CursorLoader支持的AutoCompleteTextView

狐的傳說 2019-08-05 14:19:52
由CursorLoader支持的AutoCompleteTextView因此,我無法在使用自定義的同時擴(kuò)展MultiAutoCompleteTextView和支持它。這個問題特別隨著電話而上升。在其中有一個游標(biāo)作為參數(shù)方法具有在第一調(diào)用此方法有效的和未封閉的光標(biāo)。但是,后續(xù)調(diào)用會導(dǎo)致空游標(biāo)或關(guān)閉游標(biāo)。我猜這與管理如何有關(guān)。CursorLoaderTokenizermAdapter.setCursorToStringConverter();convertToString()LoaderManagerCursorLoader如果我將setCursorToStringConverter()方法注釋掉,那么我會根據(jù)我在此視圖中輸入的文本看到可用選項列表。但是,由于沒有convertToString()實現(xiàn)terminateToken()方法,因此自定義方法Tokenizer不接收我想要的字符串,而是接收游標(biāo)對象的代表字符串,因為游標(biāo)尚未用于獲取當(dāng)前字符串值在結(jié)果查詢中的所需列的。任何人都已經(jīng)能夠?qū)崿F(xiàn)三類的組合(CursorLoader/LoaderManger,MultiAutoCompleteTextView,和Tokenizer)?我是否朝著正確的方向前進(jìn),或者這根本不可能?我已經(jīng)能夠?qū)崿F(xiàn)一個自定義MultiAutoCompleteTextView支持SimpleCursorAdapter的自定義Tokenizer。我只是想知道是否有可能使用a來實現(xiàn)它CursorLoader,因為嚴(yán)格模式抱怨光標(biāo)MultiAutoCompleteTextView沒有被明確關(guān)閉。任何幫助將不勝感激。
查看完整描述

3 回答

?
回首憶惘然

TA貢獻(xiàn)1847條經(jīng)驗 獲得超11個贊

基本上,機(jī)器人自動完成textview不是很強(qiáng)大,當(dāng)我必須處理更大量的數(shù)據(jù)時,我所做的是,我保持文本更改監(jiān)聽編輯文本以進(jìn)行搜索,然后每當(dāng)編輯文本上的某些內(nèi)容發(fā)生變化時,它查詢數(shù)據(jù)庫。

如果這可能對某人有幫助,可以在onCreate上放置一個edittext

EditText etSearch = (EditText)findViewById(R.id.etSearchBox);etSearch.addTextChangedListener(filterTextWatcher);//The filterTextWatcher is private TextWatcher filterTextWatcher = new TextWatcher() {
     @Override
    public void afterTextChanged(Editable s) {
    }
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count,int after) {
    }
    @Override
    public void onTextChanged(CharSequence s, int start, int before,int count) {
        adapter.getFilter().filter(s.toString());
        }
    };

因此,在您的適配器中,您需要創(chuàng)建一個getFilter()方法...

@Override
    public Filter getFilter() {
    if (nameFilter == null) {
        nameFilter = new NameFilter();
    }
    return nameFilter;}
    private class NameFilter extends Filter {
    @Override
    protected FilterResults performFiltering(CharSequence constraint) {
    FilterResults results = new FilterResults();
    Cursor cursor = null;
    // get your cursor by passing appropriate query here
    results.values = cursor;
    results.count = cursor.getCount();
    return results;
    }
    @Override
    protected void publishResults(CharSequence constraint, FilterResults results) {
    notifyDataSetChanged();
        }
    }


查看完整回答
反對 回復(fù) 2019-08-05
?
慕的地10843

TA貢獻(xiàn)1785條經(jīng)驗 獲得超8個贊

調(diào)用setStringConversionColumn()方法而不是setCursorToStringConverter()@Olaf建議。我已經(jīng)設(shè)置了這個,onLoadFinished()因為這是唯一Cursor可用的,因為這是實現(xiàn)a LoaderManger。

public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
    // Swap the new cursor in. (The framework will take care of closing
    // the old cursor once we return.)
    Log.d(DEBUG_TAG, "onLoadFinished()");   
    mAdapter.setStringConversionColumn(data.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME)); 
    mAdapter.swapCursor(data);}

這適用于選擇一個項目MultiAutoCompleteTextView,但不允許在中選擇多個項目MultiAutoCompleteTextView。

我猜這個onTextChanged()方法存在一些問題,因為它調(diào)用了restartLoader()。這適用于此視圖中的第一個條目,但不適用于后續(xù)條目。我現(xiàn)在不太確定什么是錯的。


查看完整回答
反對 回復(fù) 2019-08-05
  • 3 回答
  • 0 關(guān)注
  • 368 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號