我的安卓应用有问题。我正在使用带有垂直滚动条的简单 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 即可工作)
谢谢!