我正在尝试将ScrollView放在另一个ScrollView中,我尝试了在这个网站上找到的答案,但它似乎仍然没有完全发挥作用.这是XML:
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusableInTouchMode="false" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textViewDirectoryDetailName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Name"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/red" />
<LinearLayout
android:id="@+id/linearLayoutDirectoryDetailContainImage"
android:layout_width="300dp"
android:layout_height="200dp"
android:layout_gravity="center_vertical|center_horizontal"
android:background="@drawable/general_image"
android:gravity="center"
android:orientation="vertical" >
</LinearLayout>
<ScrollView
android:id="@+id/scrollView2"
android:layout_width="match_parent"
android:layout_height="100dp"
android:focusableInTouchMode="false" >
<TextView
android:id="@+id/textViewDirectoryDescription"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:autoLink="phone"
android:text="098 123 45 678"
android:textAppearance="?android:attr/textAppearanceLarge" />
</ScrollView>
Run Code Online (Sandbox Code Playgroud)
这是Java代码:
parentScrollView = (ScrollView) findViewById(R.id.scrollView1);
childScrollView = (ScrollView) findViewById(R.id.scrollView2);
parentScrollView.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View p_v, MotionEvent p_event) {
childScrollView.getParent().requestDisallowInterceptTouchEvent(
false);
// We will have to follow above for all scrollable …Run Code Online (Sandbox Code Playgroud) 我有一个使用Dagger 2的项目,我无法在Android 4+上运行该应用程序,它崩溃了.但是在Android 5+上它运行得很好.所以这是我得到的错误:
08-05 05:03:38.076 25444-25444/app.xqute.com.xqute E/AndroidRuntime? FATAL EXCEPTION: main
Process: app.xqute.com.xqute, PID: 25444
java.lang.NoClassDefFoundError: app.xqute.com.xqute.AppModule_ProvideProfileFactory
at app.xqute.com.xqute.DaggerApp_AppComponent.initialize(DaggerApp_AppComponent.java:58)
at app.xqute.com.xqute.DaggerApp_AppComponent.<init>(DaggerApp_AppComponent.java:50)
at app.xqute.com.xqute.DaggerApp_AppComponent.<init>(DaggerApp_AppComponent.java:35)
at app.xqute.com.xqute.DaggerApp_AppComponent$Builder.build(DaggerApp_AppComponent.java:151)
at app.xqute.com.xqute.App.onCreate(App.java:63)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4328)
at android.app.ActivityThread.access$1500(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
这是build.gradle文件,其中包含我正在使用的设置:
apply plugin: 'com.android.application'
apply plugin: 'me.tatarka.retrolambda'
apply plugin: 'com.neenbedankt.android-apt'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "app.xqute.com.xqute"
multiDexEnabled = true
minSdkVersion 15
targetSdkVersion 22 …Run Code Online (Sandbox Code Playgroud) 我遇到了与此相关的问题。基本上,相同的 WebView 在 Android 2.2 和 Android 4.0 上显示不同。在 Android 4.0 中,它显示网站的移动版本,而在 2.2 中,它显示网站的网络版本。此外,在 Android 2.2 上的默认 Web 浏览器中,它会像应有的那样显示移动版本。这是一个已知的错误?到目前为止,我已经为 webview 尝试了不同的设置,但在真实设备和模拟器中我总是遇到这个问题。
我附上了 2 个屏幕以查看不同之处。这是代码。请注意,我已经测试了几乎所有设置组合,但没有使用。`
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setSupportZoom(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.setInitialScale(1);
webView.getSettings()
.setUserAgentString(
"Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3");
webView.loadUrl("http://www.fernbus24.de/");
}`
Run Code Online (Sandbox Code Playgroud)
为什么显示不一样?Android 4.0 上的 WebView 有哪些其他的没有?


我有一个功能检查是否有可用的网络连接,我注意到它已经崩溃了一些用户.这是功能:
public static boolean isOnline() {
ConnectivityManager connectionManager = (ConnectivityManager) RouteForMeApplication.getInstance()
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectionManager == null) return false;
boolean networkAvailable = connectionManager.getActiveNetworkInfo() != null
&& connectionManager.getActiveNetworkInfo().isConnected();
return networkAvailable;
}
Run Code Online (Sandbox Code Playgroud)
而我得到的错误:
java.lang.NullPointerException
at com.route4me.routeoptimizer.utils.InternetUtils.isOnline(InternetUtils.java:14)
at com.route4me.routeoptimizer.services.notes.SendNoteServiceDeferred.sendNote(SendNoteServiceDeferred.java:57)
at com.route4me.routeoptimizer.services.notes.SendNoteServiceDeferred.performAction(SendNoteServiceDeferred.java:28)
at com.route4me.routeoptimizer.services.AbstractService$2.run(AbstractService.java:75)
at java.lang.Thread.run(Thread.java:841)
Run Code Online (Sandbox Code Playgroud)
我不明白的是,为什么它仍然返回null,即使我正在检查getActiveNetworkInfo()是否为null.有任何想法吗?
EDIT1 错误在"&& connectionManager.getActiveNetworkInfo().isConnected();"行上