I have created a customized listView using the following tutorial http://www.ezzylearning.com/tutorial.aspx?tid=1763429.
My list view includes two row (each with an image and a TextView). The first row is user, and the second is password. I am looking for a way to make the password row to masked, something like ****, and to add another row that will enable the user to set it to visible/ mask.
I found the following examples, How to show hidden password in textview? How to switch between hide and view password
but I have no idea how to implement this on a specific row.
my rows xml
    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" >
     <ImageView android:id="@+id/imgUserAccountIcon"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_marginRight="10dp"
        android:layout_marginTop="5dp"
        android:gravity="center_vertical"
        android:scaleType="fitStart" />
     <TextView android:id="@+id/txtTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp" 
                    android:layout_marginTop="5dp"
            />
</LinearLayout>
My user class
public class UserAccountData {
    public int icon;
    public String title;
    public UserAccountData(){
        super();
    }
public UserAccountData(int icon, String title) {
    super();
    this.icon = icon;
        this.title = title;
    }
}
My adapter class
public class UserAccountAdapter extends ArrayAdapter<UserAccountData> {
    Context context;
    int layoutResourceId;
    UserAccountData data[] = null;
public UserAccountAdapter(Context context, int layoutResourceId,
        UserAccountData[] data) {
    super(context, layoutResourceId, data);
    this.layoutResourceId = layoutResourceId;
    this.context = context;
    this.data = data;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View row = convertView;
    UserAccountDataHolder holder = null;
    if (row == null) {
        LayoutInflater inflater = ((Activity) context).getLayoutInflater();
        row = inflater.inflate(layoutResourceId, parent, false);
        holder = new UserAccountDataHolder();
        holder.imgIcon = (ImageView) row.findViewById(R.id.imgUserAccountIcon);
        holder.txtTitle = (TextView) row.findViewById(R.id.txtTitle);
        row.setTag(holder);
    } else {
        holder = (UserAccountDataHolder) row.getTag();
    }
    UserAccountData userAccountData = data[position];
    holder.txtTitle.setText(userAccountData.title);     
    holder.imgIcon.setImageResource(userAccountData.icon);
    return row;
}
static class UserAccountDataHolder {
    ImageView imgIcon;
    TextView txtTitle;
}
}
and the appropriate list view snippet of the activity method
List<UserAccountData> user_data = new ArrayList<UserAccountData>();
user_data.add(new UserAccountData(R.drawable.username_icon,"userName");
user_data.add(new UserAccountData(R.drawable.password_icon,"password");
usersArray = new UserAccountData[user_data.size()];
user_data.toArray(usersArray);
UserAccountAdapter adapter = new UserAccountAdapter(this,                       R.layout.user_accounts_row, usersArray);
userAccountsListView = (ListView) findViewById(R.id.userAccounts);
   userAccountsListView.setAdapter(adapter);
Attaching a picture of what I would like to accomplish
Before click:

after click

thanks