問題タブ [matrixcursor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
693 参照

android - Android - AutoCompleteTextView で SimpleCursorAdapter を使用すると、ユーザーが 3 番目以降の提案を選択したときに CursorIndexOutofBoundsException が発生する

タイトルが長文ですみません、150字超えたので切り捨てます。

私はAutoCompleteTextView(ACTV)を持ってSimpleCursorAdapterおり、通常の ACTV は各部分文字列 (部分文字列は空白で区切られている) の先頭でのみユーザー入力を検索し、それらの部分文字列内では検索しないため、 を使用しています。たとえば、Adiposeandを含むリストをBad Wolf検索すると、のみadが表示され、 は表示されません。以下に示すように、すでにアダプターを作成しました。AdiposeBad Wolf

このコードにより、ユーザー入力の部分文字列を含む他のリスト項目を表示できます。

今、私はOnItemClickListener関数を適切に作ろうとしています。これが私がこれまでに持っているものです:

ここではMatrixCursor、指定された位置にある要素を取得しようとしています。ユーザーが最初の 2 つの提案を選択すると、問題なく動作します。ただし、ユーザーが 3 番目以降の提案をクリックすると、アプリケーションCursorIndexOutOfBoundsException Requested Column: 2, # of columns: 2は logCat 行をクリックすると、コードが表示されますString selection = matrix.getString(position);

matrix.getString(position)getString は要求された列の値を文字列として返し、列が 2 つしかないため、ACTV でその位置 (ユーザーに表示される位置ではなく、ユーザーに表示される位置) で提案を選択するため、実行するとエラーが発生すると思いますリスト内の上記の項目) が 2 より大きいと、コードが台無しになります。

私の質問は、私が使用していることを考えると、選択したアイテムの文字列値を取得するより良い方法はありSimpleCursorAdapterますか? Android dev サイトで Matrix Cursor のドキュメントを調べましたが、位置に基づいて行/要素を取得する方法が見つかりません。

どんな助けでも大歓迎です。

編集:

そのように使用matrix.moveToFirst();しても役に立ちませんでした:

それでも例外が発生しました:

要求された列4は、インデックス 0 が付けられた、選択された ACTV 提案の位置です。

0 投票する
2 に答える
4687 参照

android - SearchView: 提案リ​​スナーから選択されたアイテムを取得する

MatrixCursor によって入力された提案を含む検索ビューがあります (既に文字列の配列があるため)。ただし、ユーザーが選択しているアイテムを取得したいと思います。これまでのところ、ユーザーが提案リストをクリックした位置しか取得できません。

ただし、エラーが発生しました。android.database.MatrixCursor を java.lang.String にキャストできません。どうすればよいかわかりません。どんな種類の助けにも本当に感謝しています。

0 投票する
1 に答える
334 参照

android - Android MatrixCursor

基本的なマトリックス カーソルを実行しようとしていますが、何らかの理由でリストが空のままです。誰かがコードの何が問題なのかを見つけていただければ幸いです。