I am developing an application which will contain the lists of songs every row has play image .On click of this image it should change to a green one (like on and off), but if there is another image in different row is "on" it should get off.
I am able to find the current position and the previous position of the row whose image is "on" but based on the position of the row i am not able to get the corresponding imageview . I am trying with the setTag() and getTag() method but get tag method is returning null for me. Any help would be appreciated.Please bail me out of this. below is my code package com.fstech.cslist; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.Map; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import android.widget.ToggleButton; public class CustomList extends Activity { ArrayList<String> pname; ListView projectList; private LayoutInflater mInflater; private boolean[] itemToggled; int Position; ImageView play; int size; int previousposn=0; int currentposn=0; int cPosition; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); projectList = (ListView) findViewById(R.id.projectlist); pname = new ArrayList<String>(); pname.add("first"); pname.add("fssecond"); pname.add("third"); pname.add("fourth"); pname.add("fifthe"); pname.add("sixth"); mInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); size = pname.size(); itemToggled = new boolean[pname.size()]; Arrays.fill(itemToggled, false); projectList.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item,pname){ ArrayList<String> ar =new ArrayList<String>(); @Override public View getView(int position, View convertView, ViewGroup parent) { Position=position; View row; if (null == convertView) { row = mInflater.inflate(R.layout.list_item, null); } else { row = convertView; } TextView tv = (TextView) row.findViewById(android.R.id.text1); tv.setText(getItem(position)); play=(ImageView)row.findViewById(R.id.roundplay); play.setBackgroundResource(R.drawable.roundplay); ImageView icon = (ImageView) row.findViewById(R.id.icon); icon.setImageResource(R.drawable.roundplay); play.setTag(String.valueOf(position)); play.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub cPosition=Integer.parseInt(v.getTag().toString()); previousposn=currentposn; currentposn=cPosition; View view =v.findViewWithTag(v.getTag(Position)); //(View) play.getTag(1); if(view!=null) System.out.println("Tag is not returning object"); else System.out.println("Tag is not returning object"); } }); return row; } }); projectList.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> listView, View itemView, int position, long id) { itemToggled[position] = ! itemToggled[position]; } }); } } **********************************************row.xml************************** <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/listrow" > <ImageView android:id="@+id/icon" android:layout_width="80dp" android:layout_height="80dp" android:paddingLeft="5dp" android:paddingRight="2dp" android:gravity="center_vertical" /> <TextView android:id="@+id/text1" android:layout_width="wrap_content" android:paddingLeft="10dp" android:textSize="20sp" android:layout_centerVertical="true" android:layout_toRightOf="@+id/icon" android:layout_height="wrap_content" android:textColor="#000000" ></TextView> <ImageView android:id="@+id/roundplay" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_alignParentRight="true" android:paddingRight="5dp" ></ImageView> </RelativeLayout> -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en