Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Android: Change Button background in ListView Row with onClick
- @Override
- public View getView(int position, View convertView, ViewGroup parent){
- if(convertView == null){
- holder = new ViewHolder();
- convertView = inflater.inflate(R.layout.todays_sales_favorite_row, null);
- holder.favCatBtn = (Button)convertView.findViewById(R.id.favCatBtn);
- convertView.setTag(holder);
- } else {
- holder = (ViewHolder)convertView.getTag();
- }
- holder.favCatBtn.setTag(position);
- holder.favCatBtn.setOnClickListener(this);
- return convertView;
- }
- @Override
- public void onClick(View v) {
- int pos = (Integer) v.getTag();
- Log.d(TAG, "Button row pos click: " + pos);
- RelativeLayout rl = (RelativeLayout)v.getParent();
- holder.favCatBtn = (Button)rl.getChildAt(0);
- holder.favCatBtn.setBackgroundResource(R.drawable.icon_yellow_star_large);
- }
- private final boolean[] mHighlightedPositions = new boolean[NUM_OF_ITEMS];
- @Override
- public View getView(int position, View convertView, ViewGroup parent){
- if(convertView == null){
- holder = new ViewHolder();
- convertView = inflater.inflate(R.layout.todays_sales_favorite_row, null);
- holder.favCatBtn = (Button)convertView.findViewById(R.id.favCatBtn);
- holder.favCatBtn.setOnClickListener(this);
- convertView.setTag(holder);
- }else {
- holder = (ViewHolder)convertView.getTag();
- }
- holder.favCatBtn.setTag(position);
- if(mHighlightedPositions[position]) {
- holder.favCatBtn.setBackgroundResource(R.drawable.icon_yellow_star_large);
- }else {
- holder.favCatBtn.setBackgroundResource(0);
- }
- return convertView;
- }
- @Override
- public void onClick(View view) {
- int position = (Integer)view.getTag();
- Log.d(TAG, "Button row pos click: " + position);
- // Toggle background resource
- RelativeLayout layout = (RelativeLayout)view.getParent();
- Button button = (Button)layout.getChildAt(0);
- if(mHighlightedPositions[position]) {
- button.setBackgroundResource(0);
- mHighlightedPositions[position] = false;
- }else {
- button.setBackgroundResource(R.drawable.icon_yellow_star_large);
- mHighlightedPositions[position] = true;
- }
- }
Add Comment
Please, Sign In to add comment