3

私はちょうどこの奇妙な問題を抱え始めました。

イベントの概要:

tableLayout は、プログラムによって設定されています。固定行を含む別の tableLayout は、このプログラムで設定された tableLayout の上にあり、それらの見出し (4 つの textViews) を含みます。アクティビティが読み込まれると完全に表示されます。また、このアクティビティの下部にあるバナー広告と、onCreate で作成され、onPause で提示されるインタースティシャル広告リクエスト。

問題:

バナー広告が下部に表示されるとすぐに、4 つの見出しテキスト ビューが消えます。textviews の visibilityChangedListener を設定する手段が見つからなかったので、テーブル レイアウト、テーブル行、およびテキスト ビューに異なる色の背景を使用しました。行にタッチ リスナーを使用し、カラー マーキングを使用します)。これは、バナー広告のロード ステートメントをコメント アウトしている場合 (インタースティシャル広告がまだ機能している場合) には発生せず、デバイスがインターネットに接続されていない場合には発生しません。これが発生したNexus4(JB-4.3)がありますが、AVDマネージャーに含まれるエミュレーター(3.2インチ(GB-2.3.3)に問題はありません)。さらに面白いのは、それらのテキストビューを使用している唯一の場所です作成された動的テキストビューに設定されるlayoutParamsを取得することです(問題なく表示されます)。

レイアウト:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:paddingTop="0dp"
android:paddingBottom="0dp"
tools:context=".DisplayAmortizationChart"
android:background="@color/layout_background">

<RelativeLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/adLayout"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingBottom="@dimen/activity_vertical_margin">

    <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/black"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:id="@+id/linearLayout"
            >

        <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:id="@+id/tvHeading"
                android:text="@string/hello_world"
                android:background="@color/layout_background"/>

        <TableLayout
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:background="@android:color/holo_purple"
                android:baselineAligned="true">

            <TableRow
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:background="@android:color/holo_red_dark"
                    android:id="@+id/titleRow"
                    android:layout_marginBottom="1dp"
                    android:baselineAligned="true"
                    android:visibility="visible">

                <TextView
                        android:layout_width="0dp"
                        android:layout_height="fill_parent"
                        android:textAppearance="?android:attr/textAppearanceMedium"
                        android:text="@string/chartHead_serial"
                        android:id="@+id/tvTitleSno"
                        android:layout_weight="4"
                        android:gravity="left"
                        android:background="@android:color/holo_green_dark"/>

                <TextView
                        android:layout_width="0dp"
                        android:layout_height="fill_parent"
                        android:textAppearance="?android:attr/textAppearanceMedium"
                        android:text="@string/chartHead_interest"
                        android:id="@+id/tvTitleInt"
                        android:layout_weight="10"
                        android:gravity="right"/>

                <TextView
                        android:layout_width="0dp"
                        android:layout_height="fill_parent"
                        android:textAppearance="?android:attr/textAppearanceMedium"
                        android:text="@string/chartHead_principal"
                        android:id="@+id/tvTitlePrin"
                        android:layout_weight="10"
                        android:gravity="right"/>

                <TextView
                        android:layout_width="0dp"
                        android:layout_height="fill_parent"
                        android:textAppearance="?android:attr/textAppearanceMedium"
                        android:text="@string/chartHead_outstanding"
                        android:id="@+id/tvTitleBal"
                        android:layout_weight="11"
                        android:gravity="right"/>

            </TableRow>
        </TableLayout>

    </LinearLayout>

    <ScrollView
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:id="@+id/scrollView"
            android:layout_alignParentRight="true"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/linearLayout">

        <TableLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:id="@+id/tableChart"
                android:background="@android:color/black"
                android:baselineAligned="true">


        </TableLayout>
    </ScrollView>

</RelativeLayout>

<LinearLayout
        xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:id="@+id/adLayout">

    <com.google.ads.AdView android:id="@+id/adView"
                           android:layout_width="wrap_content"
                           android:layout_height="wrap_content"
                           ads:adUnitId="blahblahblah
                           ads:adSize="SMART_BANNER"
                           android:layout_gravity="center"/>
</LinearLayout>
</RelativeLayout>

ログキャット:

// output from logcat
        09-19 18:47:55.502    7804-7804/com.swarajk1.easyemicalculator D/EmiCalculatorActivity Debug Logs﹕ AmortizationChart Intent sent
    09-19 18:47:55.522    7804-7804/com.swarajk1.easyemicalculator D/EmiCalculatorActivity Debug Logs﹕ onPause ActivityState written
09-19 18:47:55.602    7804-7804/com.swarajk1.easyemicalculator D/AmortizationChartActivity﹕ TableLayout construction started
09-19 18:47:55.602    7804-7804/com.swarajk1.easyemicalculator D/AmortizationChartActivity﹕ Screen density is high or more: 320
09-19 18:47:55.612    7804-7804/com.swarajk1.easyemicalculator D/AmortizationChartActivity﹕ TableLayout construction finished
09-19 18:47:55.652    7804-7804/com.swarajk1.easyemicalculator D/dalvikvm﹕ GC_FOR_ALLOC freed 554K, 6% free 9852K/10448K, paused 21ms, total 21ms
09-19 18:47:55.662    7804-7804/com.swarajk1.easyemicalculator D/AmortizationChartActivity﹕ Banner ad displayed
09-19 18:47:55.662    7804-7804/com.swarajk1.easyemicalculator D/AmortizationChartActivity﹕ Google Analytics started
09-19 18:47:55.672   7804-10166/com.swarajk1.easyemicalculator I/Ads﹕ adRequestUrlHtml: <html><head>....</head><body></body></html>
09-19 18:47:55.682   7804-10165/com.swarajk1.easyemicalculator I/Ads﹕ adRequestUrlHtml: <html><head>....</head><body></body></html>
09-19 18:47:55.942    7804-7804/com.swarajk1.easyemicalculator I/Ads﹕ Received ad url: ....
09-19 18:47:55.942   7804-10166/com.swarajk1.easyemicalculator I/Ads﹕ Request scenario: Online server request.
09-19 18:47:56.052    7804-7804/com.swarajk1.easyemicalculator D/dalvikvm﹕ GC_FOR_ALLOC freed 561K, 7% free 9802K/10448K, paused 28ms, total 28ms
09-19 18:47:56.062    7804-7804/com.swarajk1.easyemicalculator I/Ads﹕ Received ad url: ....
09-19 18:47:56.062   7804-10165/com.swarajk1.easyemicalculator I/Ads﹕ Request scenario: Online server request.
09-19 18:47:57.854    7804-7804/com.swarajk1.easyemicalculator D/webviewglue﹕ nativeDestroy view: 0x760c07f8

//this is almost when the row disappears

09-19 18:47:57.854    7804-7804/com.swarajk1.easyemicalculator I/Ads﹕ onReceiveAd()
09-19 18:47:58.145   7804-10172/com.swarajk1.easyemicalculator D/dalvikvm﹕ GC_FOR_ALLOC freed 256K, 7% free 9778K/10448K, paused 23ms, total 23ms
09-19 18:47:59.216    7804-7804/com.swarajk1.easyemicalculator D/webviewglue﹕ nativeDestroy view: 0x73f487a8
09-19 18:47:59.216    7804-7804/com.swarajk1.easyemicalculator I/Ads﹕ onReceiveAd()
09-19 18:47:59.216    7804-7804/com.swarajk1.easyemicalculator D/Interstitial Status﹕ Interstitial Ad Received

どこが間違いでしょうか?

4

1 に答える 1

2

Relative Layout (ルートの Relative Layout のすぐ内側にあるもの) は必要ないと感じ、代わりに Linear Layout に変更しました。これで問題は解決しました。広告の読み込み時に AdView を含む LinearLayout が何らかのコンテンツを取得した後、レイアウトの構築に問題が発生したと思われます。これにより、ScrollView が RelativeLayout 内のすべてのスペースを失っていました。

于 2013-10-17T12:06:35.123 に答える