我的Android应用程序有问题。我正在使用带有垂直scrollBar的简单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;
}
我该怎么做才能让它更“准确”(所以我不必长按它来工作)
谢谢!
答案 0 :(得分:2)
将您的textview放在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>
然后它应该正常工作。希望它有所帮助