2012-07-20 8 views
1

내 앱에 admob 광고를 넣었습니다. ListView에서 바닥 글보기로 나타납니다. 이상하게도 광고는 첫 번째 클릭에 응답하지 않습니다. 응답하려면 두 번 클릭해야합니다. 그런 다음 모든 후속 클릭에 정상적으로 응답합니다.AdMob 광고를 사용하려면 ListView에서 두 번 클릭해야합니다.

보유하고있는보기에 할당 된 클릭 수신기가 없습니다. OnItemClickListener가 listview에 할당되어 있지 않습니다. 이것은 admob 뷰를 삽입하는 것과 같은 뷰입니다 (그리고이 팽창 된 뷰는 ListView footer로 추가됩니다).

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:padding="5dp" > 

    <!-- I add the Ad to this inner layout at runtime. --> 
    <LinearLayout 
    android:id="@+id/body" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="#fff" 
    android:padding="5dp"> 
    </LinearLayout> 

</LinearLayout> 

... 
View parent = inflateContainerFromXml(R.layout.foo); 
parent.addView(makeAdMobView()); 
ListView lv = ...; 
lv.addFooterView(parent); 

위의 중첩 된 레이아웃이 약간 이상하게 보일 수도 있지만 실현하려고하는 시각적 스타일 때문입니다.

어떤 원인 일 수 있습니까? 나는 평범한 linearlayout에서 앱의 다른 곳에서 그것을 사용하고 클릭 처리가 정상적으로 동작하기 때문에 admob view 생성 코드가 괜찮을 것이라고 생각합니다.

감사합니다.

+0

의 루트 레이아웃에

android:descendantFocusability="blocksDescendants"

을 추가하여 해결했다. 첫 번째 클릭만으로 열린 아이콘이 커지면 광고가 "2 번 클릭"광고가 아닌 것이 확실합니까? 그렇지 않은 경우 AdMob 코드를 제공 할 수 있습니까? 선택적으로 [이 ListView 예제] (http://code.google.com/p/google-mobile-dev/source/browse/adcatalog/src/com/google/ad/catalog/layouts/ListViewexample)도 확인할 수 있습니다. .java? repo = ad-catalog-android). 두 번 클릭 문제가 없습니다. –

+0

설명 된 @ user291701과 동일한 문제가 있습니다. 이상한 점은 광고에 작은 스크롤바가 표시된다는 것입니다. 첫 번째 클릭이 실제로는 광고의 크기를 조정하는 데 사용됩니다 (크기 조정은 표시되지 않음). 그러나 벤 웨이가 제공 한 답은 문제를 해결했습니다! –

답변

5

나는 동일한 문제가있었습니다. 이상한 목록보기 항목

+0

에는 OP와 동일한 문제가 있었는데 이것으로 해결되었습니다. 바닥 글의 루트 요소 레이아웃을 추가했습니다. – McFarlane

+0

Google Play 서비스 6.5.87 및 Android 버전 4.3 이하에서이 문제가 발생합니다. 일반적으로 광고 전체를 덮는 파란색 강조 표시 대신 사용자가 누를 때 광고 하단에 좁은 파란색 막대가 있습니다. 다음 코드는 문제를 해결합니다. mAdView는 PublisherAdView의 새로 생성 된 인스턴스입니다 :'mAdView.setDescendantFocusability (FOCUS_BLOCK_DESCENDANTS);' – markproxy

관련 문제