Pregunta

I have a problem with my android app. I'm using a simple Textview with a vertical scrollBar to display lyrics from a song. The problem is that in my activity I set a Onclick event on this same Textview. So when I scroll the lyrics in the textview, the activity registers a click event when I release my finger from the screen. I don't want the onClick event to happen after I scroll.

Here is what I have done so far but it does not work really well since im using a onLongClick event wich is not precise enough:

public class NowPlayingActivity extends Activity implements ckListener,OnLongClickListener
{
   private TextView lyrics;
   private static final String TAG_LYRICS = "LYRICS";   
   @Override
   protected void onCreate(Bundle savedInstanceState)
   {
       this.lyrics = (TextView) this.findViewById(R.id.now_playing_Lyrics);
       this.lyrics.setOnClickListener(this);
       this.lyrics.setMovementMethod(new ScrollingMovementMethod());
       this.lyrics.setOnLongClickListener(this);
}
public void onClick(View v)
{
    String tag = (String) v.getTag();
    if (tag.equals(NowPlayingActivity.TAG_LYRICS))
    {
        if (this.scrolled) //this way, the click action doesnt occur after a scroll
        {
            this.scrolled = false;
        }
        else
        {
            this.scrolled = false;
            this.artwork.setVisibility(View.VISIBLE);
            this.lyrics.setVisibility(View.GONE);
        }
    }
    public boolean onLongClick(View arg0)
    {
        this.scrolled =  true;

        return this.scrolled;
    }

what can I do to make it more "accurate" (so I dont have to make a longClick for it to work)

thanks!

¿Fue útil?

Solución

Put your textview inside scrollview.

<ScrollView
        android:id="@+id/content_scroll"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_margin="7dip"
        android:scrollbars="none" >

        <TextView
            android:id="@+id/fileContent"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dip" />
    </ScrollView>

Then it should work properly. Hope it helps

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top