2016-09-30 6 views
0

Я хочу, чтобы щелкнуть по меню пункта, этот элемент изменит значок.Проверить меню элементов изображения в фрагменте

Селектор для элемента:

button_add_to_wishlist.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item 
    android:state_checked="false" 
    android:drawable="@drawable/ic_add_fav" /> 
<item 
    android:state_checked="true" 
    android:drawable="@drawable/ic_add_fav_fill" /> 

Меню

<item 
    android:id="@+id/add_to_wishlist" 
    android:title="@string/book_btn_text_add_to_wishlist" 
    android:icon="@drawable/button_add_to_wishlist" 
    android:checkable="true" 
    app:showAsAction="always"/> 

ответ

0
menu.getMenuItem(position).setIcon(drwable); 
0
<item android:icon="@drawable/Selector for the item"/> 

Happy Coding !!

+0

Я использую это раньше, но это не работает «button_add_to_wishlist» - это селектор, и это значок элемента мени. – rkovtiuk

0

Как насчет настройки пользовательского прослушивателя в пользовательском адаптере? Что-то вроде этого:

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    View row = convertView; 
    final Rowholder; 

    if(row == null) 
    { 
     LayoutInflater inflater = ((Activity)context).getLayoutInflater(); 
     row = inflater.inflate(layoutResourceId, parent, false); 
     holder = new Rowholder(); 
     holder.checkbox= (CheckBox) row.findViewById(R.id.myCheckbox); 
     holder.icon= (ImageView) row.findViewById(R.id.myIcon); 

     row.setTag(holder); 
    } 
    else 
    { 
     holder = (Rowholder)row.getTag(); 
    } 
    holder.checkbox.setText("A Box"); 

    //here is the important part where we set the imageview's source 
    //dependig on the checkbox state 
    //a checkChangeListener would also do the deal 
    holder.checkbox.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if(holder.checkBox.isChecked()) { 
       holder.icon.setImageResource(R.drawable.ic_add_fav_fill); 
      }else{ 
       holder.icon.setImageResource(R.drawable.ic_add_fav); 
    }); 


    return row; 
} 

//holder class for your UI-elements 
static class RowHolder { 
    CheckBox checkbox; 
    ImageView icon; 
} 

Надеюсь, это может вам помочь!

 Смежные вопросы

  • Нет связанных вопросов^_^