2016-08-16 32 views
0

私は位置変更の問題をExpandable lisviewで解決する方法を見つけようとしています。私は基本的に2つのアイコンで構成されたイメージビューを持っています。私は、以下の方法で拡張可能なリストビューアダプタでImageViewの存在のonclickのLISTNERを設定すると私は位置変更の問題を解決する方法を理解しようとしています

@Override 
    public View getGroupView(final int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { 
if (convertView == null) { 
      LayoutInflater inf = (LayoutInflater) context 
        .getSystemService(context.LAYOUT_INFLATER_SERVICE); 
      convertView = lInflater.inflate(R.layout.myfav, parent, false); 

     } 

final ImageView   favourite_icon = (ImageView) convertView.findViewById(R.id.favourite_icon); 
    favourite_icon.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
ImageView imageView = (ImageView)expandableListView.getChildAt(groupPosition).findViewById(R.id.favourite_icon); 


      imageView.setColorFilter(context.getResources().getColor(R.color.datedisplay),android.graphics.PorterDuff.Mode.MULTIPLY); 
}}); 

位置が間違って来ているし、他のいくつかのアイテムアイコンの色が変化しつつあります。私はこのlisviewにスクロールするとsettedアイコンの色合いは自動的に

答えて

0

それはこのことをあるかもしれない変えつつある。

 expandableListView.getChildAt(groupPosition) 

問題が発生する子リストにグループインデックスを、使います。

+0

expandableListView.getChildAt(groupPosition)が間違ったインデックスを返しています。たとえば、最初のアイテムをクリックすると、最後のアイテムの色が変わり、最後のアイテムをスクロールすると、色もリセットされます –

関連する問題