2016-05-03 16 views
0

カスタムrow_layoutを含むカスタムListViewがあります。 longclickの後、コンテキストメニューから別のオプションが得られます。ユーザーが選択したオプションに応じて、マークするために選択した行にイメージ/アイコンを追加したいとします。選択したContextMenuのカスタムListView行を更新する

私は、このユースケースを正確にカバーする答えを見つけることができませんでした。この場合、ヒントや助け、チュートリアルに感謝します。

ありがとうございます。

答えて

0

私は自分自身で解決策に気づいたことはありません。私はブール変数をListItemクラスに追加し、ImageViewをlist_row_layoutに追加し、ImageViewをCustomAdapterクラス内のViewHolderクラスに追加しました。したがって、contextItemをクリックすると、クリックされたlistItemに対してboolean Attributeがtrueに設定されます。

コード例:

@Override 
public boolean onContextItemSelected(MenuItem item) { 

     AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); 

     int itemPosition = info.position; 

     switch (item.getItemId()) { 
      case R.id.contextItem1: 

       listViewItems.get(itemPosition).setMarkerAttribute(true); 
       listView.setAdapter(new MyCustomListAdapter(context, listViewItems)); 

       return true; 
      case R.id.contextItem2: 

//do sth 
       return true; 
      case R.id.contextItem3: 
//do sth 
       return true; 
      default: 
       return super.onContextItemSelected(item); 
     } 
    } 

希望例の多くは唯一のアイテムを削除するカバーしているため、これは、誰かに有用であった...

関連する問題