2011-08-28 4 views
2

Android 앱에 AdMob을 사용하고 있습니다. 그리고 ListActivity를 확장하는 Activity에 AdView를 추가하려고합니다.ListActivity를 확장하는 클래스에 AdView 추가

나는 getListView().addHeaderView(my_ad_view)을 사용해 보았지만 제대로 작동하지 않는 것 같습니다.

어떻게하면 좋을까요? 이 분야에 대한 새로운 경험을 통해 도움을 얻을 수 있습니다. 감사.

이 활동은 같이 시작합니다 : 여기

내 코드입니다

public class Home extends ListActivity { /* Code */ } 

onCreate() 기능 : 내가 사용 권한을 설정하고 매니페스트에서 활동을 선언 한

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    // Set the list items. The method populateList() reads the items from the database 
    // and returns a String array. 
    setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, populateList())); 

    ListView lv = getListView(); 
    lv.setTextFilterEnabled(true); 

    lv.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      goToTasks(String.valueOf(getListAdapter().getItem(position))); 
     } 
    }); 

    lv.setCacheColorHint(0); 
    lv.setBackgroundResource(R.drawable.fmn_background_300); 

    registerForContextMenu(getListView()); 

    refreshList(); 

    // Here is the AdView code 
    AdView adView = new AdView(this, AdSize.BANNER, FMN.ADMOB_ID); 
    LinearLayout ll = (LinearLayout)findViewById(R.id.ll_admob); 
    ll.addView(adView); 
    getListView().addHeaderView(ll); 
    adView.loadAd(new AdRequest()); 
} 

필수.

populateList() 메서드에서 나는 단지 Cursor을 얻은 다음 몇 가지 조작을 수행하고 결국 String 배열을 반환했습니다.

그래서 내가 뭘 잘못하고 있니? 이 액티비티가로드되면 앱이 종료됩니다. 경우

답변

2

당신이 당신의 추가보기 (그래서 목록보기에 아무 관계가) 다음과 같은 레이아웃이 없었다 항상 볼 수 있도록합니다 :이 경우

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:orientation="vertical" android:layout_width="fill_parent" 
    android:layout_height="fill_parent" android:id="@+id/root"> 

    <View /*Your View*/ android:layout_width="fill_parent" 
     android:layout_height="wrap_content"></View> 
    <ListView android:id="@+id/android:list" style="@style/CustomListView" /> 
</LinearLayout> 

을, 당신이보기에 참조를 얻을 거기에 자신의보기를 추가하십시오.

목록보기로 스크롤하려는 경우 헤더로 추가하거나 맞춤 목록 항목으로 추가해야합니다 (예 : position == 0 인 경우 어댑터를 체크인 한 다음 다른 광고 대신이 AdView를 반환 함).).

현재 구현에 대한 정확한 문제점을 이해하기 위해 몇 가지 코드를 추가 할 수 있습니까?

BR, Dimitris

관련 문제