我的安卓应用程序有问题。我正在使用带有垂直滚动条的简单文本视图来显示歌曲中的歌词。问题是在我的活动中,我在同一文本视图上设置了一个 Onclick 事件。因此,当我在文本视图中滚动歌词时,当我从屏幕上松开手指时,活动会记录一个单击事件。我不希望在滚动后发生 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;
}
我能做些什么来使其更"准确"(这样我就不必长点击它就可以工作)
谢谢!
将文本视图置于滚动视图中。
<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>
然后它应该正常工作。希望对你有帮助