質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

0回答

259閲覧

スクロールを同期させる

sena14

総合スコア109

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2018/02/05 14:33

編集2018/02/06 22:11

すでにxmlで定義されているMyHorizontalScrollViewと動的に追加したいくつかのMyHorizontalScrollViewを同期させたく下記のようなコードを書いてみました。

動的に生成したMyHorizontalScrollViewを下のメソッドに投げても同期せずに困っています。
どこを直せばうまくいくでしょうか?
よろしくお願いします。

import android.content.Context; import android.util.AttributeSet; import android.widget.HorizontalScrollView; public class MyHorizontalScrollView extends HorizontalScrollView { private int last = 0; private ScrollViewListener scrollViewListener = null; public interface ScrollViewListener { void onScrollChanged(int x, int y, int oldX, int oldY); } public MyHorizontalScrollView(Context context) { super(context); } public MyHorizontalScrollView(Context context, AttributeSet attrs) { super(context, attrs); } public MyHorizontalScrollView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public void setOnScrollViewListener(ScrollViewListener scrollViewListener) { this.scrollViewListener = scrollViewListener; } @Override protected void onScrollChanged(int x, int y, int oldX, int oldY) { super.onScrollChanged(x, y, oldX, oldY); if (scrollViewListener == null || last == y || y < 0 || oldY < 0) { return; } last = y; scrollViewListener.onScrollChanged(x,y,oldX,oldY); } } コード
public void setScrollView(final MyHorizontalScrollView scrollView2){ final MyHorizontalScrollView scrollView1 = (MyHorizontalScrollView)findViewById(R.id.scrollView1); scrollView1.setOnScrollViewListener(new MyHorizontalScrollView.ScrollViewListener(){ @TargetApi(Build.VERSION_CODES.HONEYCOMB) @Override public void onScrollChanged(int x, int y, int oldX, int oldY) { int horizontal = x - oldX; // 横軸の移動量 int vertical = y - oldY; // 縦軸の移動量 scrollView2.scrollTo(x,y); } }); scrollView2.setOnScrollViewListener(new MyHorizontalScrollView.ScrollViewListener(){ @TargetApi(Build.VERSION_CODES.HONEYCOMB) @Override public void onScrollChanged(int x, int y, int oldX, int oldY) { int horizontal = x - oldX; // 横軸の移動量 int vertical = y - oldY; // 縦軸の移動量 scrollView1.scrollTo(x,y); } }); } コード

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問