Android アプリに問題があります。曲の歌詞を表示するために、垂直スクロールバーを備えた単純な Textview を使用しています。問題は、私のアクティビティで、この同じ Textview に 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;
}
より「正確」にするにはどうすればよいですか(したがって、機能させるために longClick を作成する必要はありません)
ありがとう!