2017-04-03 10 views
0

私はスクロールビューを使用すると、アプリケーションがクラッシュしました。レイアウトに10個のボタンがあります 私のXMLコードは以下の通りです。Android Appアプリを作成しようとしていましたが、スクロール表示後にクラッシュしました。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/ScrollView01" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="508dp" 
    android:background="#fff" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" > 

    <Button 
     android:id="@+id/pregnancy" 
     android:layout_width="130dp" 
     android:layout_height="100dp" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:background="@drawable/pregnancy" 
     android:layout_marginTop="21dp" 
     android:textColor="#fff" 
     android:text="" /> 

    <Button 
     android:id="@+id/cancer" 
     android:background="@drawable/cancer" 
     android:layout_width="130dp" 
     android:layout_height="100dp" 
     android:layout_alignBottom="@+id/pregnancy" 
     android:layout_alignParentRight="true" 
     android:textColor="#fff" 
     android:text="" /> 

    <Button 
     android:id="@+id/kids" 
     android:layout_width="130dp" 
     android:layout_height="100dp" 
     android:layout_alignLeft="@+id/pregnancy" 
     android:layout_below="@+id/pregnancy" 
     android:textColor="#fff" 
     android:background="@drawable/pediatrics" 
     android:layout_marginTop="38dp" 
     android:text="" /> 

    <Button 
     android:id="@+id/cardiology" 
     android:layout_width="130dp" 
     android:layout_height="100dp" 
     android:layout_alignBaseline="@+id/kids" 
     android:textColor="#fff" 
     android:background="@drawable/cardiologist" 
     android:layout_alignBottom="@+id/kids" 
     android:layout_alignRight="@+id/cancer" 
     android:text="" /> 

    <Button 
     android:id="@+id/neurology" 
     android:layout_width="130dp" 
     android:layout_height="100dp" 
     android:background="@drawable/neurologista" 
     android:layout_alignLeft="@+id/kids" 
     android:textColor="#fff" 
     android:layout_below="@+id/kids" 
     android:layout_marginTop="38dp" 
     android:text="" /> 

    <Button 
     android:id="@+id/ortho" 
     android:layout_width="130dp" 
     android:layout_height="100dp" 
     android:background="@drawable/ortopedia" 
     android:layout_alignBaseline="@+id/neurology" 
     android:layout_alignBottom="@+id/neurology" 
     android:layout_alignLeft="@+id/cardiology" 
     android:textColor="#fff" 
     android:text="" /> 

    <Button 
     android:id="@+id/dental" 
     android:layout_width="130dp" 
     android:layout_height="100dp" 
     android:background="@drawable/dental" 
     android:layout_alignLeft="@+id/neurology" 
     android:layout_below="@+id/neurology" 
     android:layout_marginTop="33dp" 
     android:textColor="#fff" 
     android:text="" /> 

    <Button 
     android:id="@+id/ent" 
     android:layout_width="130dp" 
     android:layout_height="100dp" 
     android:background="@drawable/ent" 
     android:layout_alignRight="@+id/ortho" 
     android:textColor="#fff" 
     android:layout_alignTop="@+id/dental" 
     android:text="" /> 

    <Button 
     android:id="@+id/medicine" 
     android:layout_width="130dp" 
     android:layout_height="100dp" 
     android:background="@drawable/medicine" 
     android:layout_alignLeft="@+id/dental" 
     android:layout_below="@+id/dental" 
     android:layout_marginTop="43dp" 
     android:textColor="#fff" 
     android:text="" /> 

    <Button 
     android:id="@+id/dermatology" 
     android:layout_width="130dp" 
     android:layout_height="100dp" 
     android:background="@drawable/dermatology" 
     android:layout_alignBottom="@+id/medicine" 
     android:layout_alignLeft="@+id/ent" 
     android:textColor="#fff" 
     android:text="" /> 


</RelativeLayout> 
</ScrollView> 

レイアウトにこれらの10個のボタンが必要です。 誰かがこれがなぜ起こったのか教えてもらえますか?事前のおかげで

後あなたが原因OutOfMemoryErrorのクラッシュを持っているlogcatレポート

04-04 05:23:57.483: E/AndroidRuntime(939): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.doctorlive/com.example.doctorlive.MainActivity}: android.view.InflateException: Binary XML file line #36: Error inflating class <unknown> 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.app.ActivityThread.access$600(ActivityThread.java:141) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.os.Handler.dispatchMessage(Handler.java:99) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.os.Looper.loop(Looper.java:137) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.app.ActivityThread.main(ActivityThread.java:5103) 
04-04 05:23:57.483: E/AndroidRuntime(939): at java.lang.reflect.Method.invokeNative(Native Method) 
04-04 05:23:57.483: E/AndroidRuntime(939): at java.lang.reflect.Method.invoke(Method.java:525) 
04-04 05:23:57.483: E/AndroidRuntime(939): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
04-04 05:23:57.483: E/AndroidRuntime(939): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
04-04 05:23:57.483: E/AndroidRuntime(939): at dalvik.system.NativeStart.main(Native Method) 
04-04 05:23:57.483: E/AndroidRuntime(939): Caused by: android.view.InflateException: Binary XML file line #36: Error inflating class <unknown> 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.view.LayoutInflater.createView(LayoutInflater.java:620) 
04-04 05:23:57.483: E/AndroidRuntime(939): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.view.LayoutInflater.rInflate(LayoutInflater.java:758) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
04-04 05:23:57.483: E/AndroidRuntime(939): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:267) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.app.Activity.setContentView(Activity.java:1895) 
04-04 05:23:57.483: E/AndroidRuntime(939): at com.example.doctorlive.MainActivity.onCreate(MainActivity.java:16) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.app.Activity.performCreate(Activity.java:5133) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175) 
04-04 05:23:57.483: E/AndroidRuntime(939): ... 11 more 
04-04 05:23:57.483: E/AndroidRuntime(939): Caused by: java.lang.reflect.InvocationTargetException 
04-04 05:23:57.483: E/AndroidRuntime(939): at java.lang.reflect.Constructor.constructNative(Native Method) 
04-04 05:23:57.483: E/AndroidRuntime(939): at java.lang.reflect.Constructor.newInstance(Constructor.java:417) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.view.LayoutInflater.createView(LayoutInflater.java:594) 
04-04 05:23:57.483: E/AndroidRuntime(939): ... 25 more 
04-04 05:23:57.483: E/AndroidRuntime(939): Caused by: java.lang.OutOfMemoryError 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:503) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:356) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:800) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.content.res.Resources.loadDrawable(Resources.java:2105) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.content.res.TypedArray.getDrawable(TypedArray.java:601) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.view.View.<init>(View.java:3364) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.widget.TextView.<init>(TextView.java:612) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.widget.Button.<init>(Button.java:107) 
04-04 05:23:57.483: E/AndroidRuntime(939): at android.widget.Button.<init>(Button.java:103) 
04-04 05:23:57.483: E/AndroidRuntime(939): ... 28 more 
+0

「私がスクロールビューを使用したとき、アプリがクラッシュしました」クラッシュからstacktraceをポストすると、エラーが見つかりました。 –

+0

私はあなたを取得しませんでした。私は私の携帯電話でそれをテストしました。 –

+0

エラーログを投稿する – FAT

答えて

0
Caused by: java.lang.OutOfMemoryError 
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:503) 
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:356) 
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:800) 
at android.content.res.Resources.loadDrawable(Resources.java:2105) 
at android.content.res.TypedArray.getDrawable(TypedArray.java:601) 
at android.view.View.<init>(View.java:3364) 
at android.widget.TextView.<init>(TextView.java:612) 
at android.widget.Button.<init>(Button.java:107) 
at android.widget.Button.<init>(Button.java:103) 

です。

Buttonに非常に大きなバックグラウンドドロワブルを与えました。それをダウンサンプリングします。

+0

どうすればできますか? –

+0

イメージコンバーターによる。解像度を変更します。 – azizbekian

+0

私はあなたを取得しませんでした。説明していただけますか? –

0

添付されたログから、アプリのクラッシュがOutOfMemoryErrorによって発生したようです。

Buttonの場合はlower resolution imageを使用するか、大きな画像を読み込む場合はGlideまたはPicassoライブラリを使用してください。

Picasso.with(context).load(R.drawable.YOUR_DRAWABLE_IMAGE).into(YOUR_VIEW); 

または

Glide.with(context).load(R.drawable.YOUR_DRAWABLE_IMAGE).into(YOUR_VIEW); 

参照ドキュメント:

  1. グライド:https://github.com/bumptech/glide
  2. ピカソ:http://square.github.io/picasso/
関連する問題