1

我的安卓应用有问题。我正在使用带有垂直滚动条的简单 Textview 来显示歌曲中的歌词。问题是在我的活动中,我在同一个 Textview 上设置了 Onclick 事件。因此,当我在 textview 中滚动歌词时,当我从屏幕上松开手指时,活动会注册一个单击事件。我不希望滚动后发生 onClick 事件。

这是我到目前为止所做的,但它并不能很好地工作,因为我使用的 onLongClick 事件不够精确:

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;
    }

我该怎么做才能使它更“准确”(所以我不必进行 longClick 即可工作)

谢谢!

4

1 回答 1

2

将您的文本视图放入滚动视图中。

<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>

然后它应该可以正常工作。希望能帮助到你

于 2012-11-27T04:37:14.640 回答