2011-10-27 29 views
0

私はListView(CHOICE_MODE_SINGLEに設定)を持っています 私はListViewを満たすSimpleCursorAdapterを持っています。今私は選択に取り組んでいます。リストビューのAndroid選択問題

serviceListView.setAdapter(
    new SimpleCursorAdapter(this, R.layout.service_listitem, cursor, new String[] { "name" }, new int[] { R.id.service_name }) { 

     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      final View renderer = super.getView(position, convertView, parent); 
      if (position == newSelectedPosition) { 
       renderer.setBackgroundResource(R.layout.list_view_layer_list); 
      } else { 
       renderer.setBackgroundResource(android.R.color.transparent); 
      } 
      return renderer; 
     } 
    } 
); 

私はレイアウトを適用するときに選択したいと思います。これは正常に動作します。 しかし、場合によっては2〜3秒間押してから少しドラッグして、2行を選択した行を解放します。 OnTouchListener、OnScrollListener、OnLongClickListenerを上書きして、初期選択に乗るためにいくつかの方法を試します。結果がありません。 助けを歓迎します ありがとう

答えて

0

この実装を終了しました。 TextView-sで各行にScrollViewを使用してListViewを「シミュレート」しようとします

+0

それはうまく動作します。同じ問題が発生している他のユーザーは、ListViewをTextViewsでいっぱいのScrollViewに置き換えてみてください。 – tinti

0

選択が変更された後にnotifyDataSetChanged()を呼び出してみましたか?これにより、すべての行が再びリバウンドされ、すべてのビュー(選択されているビューを除く)が透明な背景に戻されます。

+0

あなたのお手伝いを...ありがとうございます。他のアイデア? – tinti

+0

申し訳ありませんが、それはうまくいくと思いました。私は同じポジションがどのように2度縛られるのか分かりません。あなたの指が画面から離れたときにnotifyDataSetChangedを呼び出すのが助けになるかどうかはわかりません。おそらく、選択した関数にいくつかのログを追加しようとすると、バインド関数は何が起こっているかを見るのに役立ちます。 –