この投稿のアドバイスに従ってみました。ScrollViewのスクロール位置を同期します-androidです が、問題が発生しています。
背景-水平スクロールと垂直スクロールの両方を備えたテーブルレイアウトが必要ですが、最初の行と最初の列が常に存在する必要があります-Excelのフリーズペインのように。残念ながら、AndroidのJavaプログラミングでは不可能に近いようです...私にそのような頭痛の種を引き起こします。これらの2つの水平スクロールビューを同期できる場合は、テーブルが希望どおりに機能するように設定しました。
私は上記の投稿されたリンクからのアドバイスに従いました、そして私が持っている問題はこれです。実装するとアプリフォースが閉じます
scrollView1.setScrollViewListener(this);
問題は、ObservableScrollViewsを宣言する方法にあるのではないかと思います。私はXMLを使用していません-すべてのオブジェクトはプログラムで作成されます。使ってみました
private ObservableScrollView oScrollViewOne = new ObservableScrollView(this);
しかし、これは同様に力を閉じさせています。(通常のスクロールビューを作成し、それにIDを割り当ててから、
scrollView1 =(ObservableScrollView)findViewById(ID); ここで、IDはスクロールビューに指定した整数です。
以下のコメントをどうすればよいのか、XMLレイアウトを使用していない場合はどのように使用するのか疑問に思っています。
また、既存のScrollViewタグの代わりに、この新しいObservableScrollViewクラスをレイアウトで指定する必要があります。
com.test.ObservableScrollView android:id = "@ + id /scrollview1"..。
以前に見たように、コードを指定せずにOnTouchMotionEventまたは他のアイデアを使用するための提案だけでなく、明示的なコードを使用して2つの水平スクロールビューの同期を実装するためのその他の提案。
これがエラーコードです
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): FATAL EXCEPTION: main
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.glen.apps.TeacherAidePro/com.glen.apps.TeacherAidePro.TeacherAidePro}: java.lang.NullPointerException
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2709)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2803)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at android.app.ActivityThread.access$2300(ActivityThread.java:135)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2136)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at android.os.Handler.dispatchMessage(Handler.java:99)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at android.os.Looper.loop(Looper.java:144)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at android.app.ActivityThread.main(ActivityThread.java:4937)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at java.lang.reflect.Method.invokeNative(Native Method)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at java.lang.reflect.Method.invoke(Method.java:521)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at dalvik.system.NativeStart.main(Native Method)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): Caused by: java.lang.NullPointerException
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at android.content.ContextWrapper.getResources(ContextWrapper.java:80)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at android.view.View.<init>(View.java:1810)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at android.view.View.<init>(View.java:1856)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at android.view.ViewGroup.<init>(ViewGroup.java:299)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at android.widget.FrameLayout.<init>(FrameLayout.java:83)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at android.widget.ScrollView.<init>(ScrollView.java:137)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at android.widget.ScrollView.<init>(ScrollView.java:133)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at android.widget.ScrollView.<init>(ScrollView.java:129)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at com.glen.apps.TeacherAidePro.ObservableScrollView.<init>(ObservableScrollView.java:12)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at com.glen.apps.TeacherAidePro.TeacherAidePro.<init>(TeacherAidePro.java:119)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at java.lang.Class.newInstanceImpl(Native Method)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at java.lang.Class.newInstance(Class.java:1429)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at android.app.Instrumentation.newActivity(Instrumentation.java:1036)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2701)
10-23 23:33:08.631: ERROR/AndroidRuntime(18187): ... 11 more
これが12行目です
1. package com.glen.apps.TeacherAidePro;
2.
3. import android.content.Context;
4. import android.util.AttributeSet;
5. import android.widget.ScrollView;
6.
7. public class ObservableScrollView extends ScrollView {
8.
9. private IScrollListener listener = null;
10.
11. public ObservableScrollView(Context context) {
12. super(context);
}