title: Android ListView with Ripple effect
body: <p>I have a ListView and each row uses a custom background color. I'd like to ensure that the default highlight is shown when the user touches a row, so I've defined a drawable with a selector, like this:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;ripple xmlns:android="http://schemas.android.com/apk/res/android" 
      android:color="?android:attr/colorControlHighlight"&gt;
      &lt;item&gt;
          &lt;selector xmlns:android="http://schemas.android.com/apk/res/android"&gt;
              &lt;item android:drawable="@color/clear" android:state_selected="true"/&gt;
              &lt;item android:drawable="@color/clear" android:state_focused="true" android:state_pressed="true"/&gt;
              &lt;item android:drawable="@color/clear" android:state_pressed="true"/&gt;
              &lt;item android:drawable="@color/white"/&gt;
          &lt;/selector&gt;
      &lt;/item&gt;
  &lt;/ripple&gt;
  </code></pre>
  
  <p>At first glance, it seems to work. <strong>However, if I scroll to a row that wasn't previously on the screen, the first time I tap the row, I don't get a ripple.</strong> But then if I tap it again, I do see the ripple. If I scroll the row off the screen and then back on again, same thing keeps happening.</p>
  
  <p>Any ideas??</p>
  
  <p>Thanks!!</p>