0

これを行う方法はありますか?私の特定の目的は、単純なカーソルアダプターによって取り込まれたリスト内の編集テキストからラベルを取り込もうとしていることです。カーソルから情報を収集すると、リスト内の最新の項目の値のみが表示されます。

例:

        lbs = (TextView)view.findViewById(R.id.GrainLbs);
    lbs.setOnTouchListener(new OnTouchListener(){

        @Override
        public boolean onTouch(View v, MotionEvent arg1) {
            if(!popState){
                parentActivity.showPopup(v, mView, getId, String.valueOf(getLbs));
                Log.i("Current ID", "");
            }
            setPopState();
            return true;
        }   
    });

データベースからカスタム simplecursodapter (String.valueOf(getLbs)) 内のアクティビティのメソッドに値を渡そうとしています。これは、リストビュー内のオブジェクトをクリックしてこの情報を収集しているためです。特定のリスト項目のデータを自動的に使用します。リスト項目の位置を取得し、その位置に基づいてデータベースから情報を使用する方法はありますか?

4

2 に答える 2

0

これは非常に単純な答えであることが判明し、それを理解するために多くの時間を費やしたとは信じられません. 内部メソッド (onclicklistener) 内で値を収集していたため、変数を final にする必要がありました。変数をクラスの先頭で宣言して、全体で使用できるようにしました。このため、例外は発生しませんでした。しかし、何らかの理由で正しい値を渡す前に、最終的にする必要がありました。

したがって、カスタムカーソルアダプター内でビューをバインドすると、位置を知らなくても個々のリストアイテムの値を収集できると思います。これは自動的に認識されます。

于 2011-08-22T01:48:30.483 に答える
0

拡張している場合は、 ListActivity.onListItemClickListActivityをオーバーライドできます。その関数に渡される 2 番目の引数は、リスト内の位置であり、これは 内の位置と同じです。SimpleCursorAdapter

于 2011-08-21T16:05:53.673 に答える